仅复制多个插入行中的公式

时间:2016-06-15 09:26:08

标签: excel excel-vba vba

我有以下Excel电子表格:

      A                B            C
1    Product A         $50         =B1*4
2    Product B         $10         =B2*4
3    Product C         $20         =B2*4

我使用以下公式在第1行和第2行之间插入新行。

Sub Insert_Multiple_Rows()
Tabelle1.Range("2:3").EntireRow.Insert
Tabelle1.Range("2:3").Formula = Tabelle1.Range("1:1").Formula
End Sub

此公式完美无缺,可插入新行并复制所有公式和值。

但是,我想要实现的是只有具有公式的单元格将被复制到新插入的单元格中,而所有其他单元格仍然是空白的。在上面的情况中,这意味着只有C列中的公式被复制到新插入的行中,而A和B列在新插入的行中保持空白。

你们有什么想法我怎么能从插入行代码中排除包含值而不是公式的单元格。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这样就可以了解

  

行(1).Copy

     

Rows(2).PasteSpecial Paste:= xlPasteFormulas,Operation:= xlNone,SkipBlanks:= False,Transpose:= False

答案 1 :(得分:0)

这是一个选项

Sub Insert_Multiple_Rows()
    Tabelle1.Range("2:3").EntireRow.Insert
    Tabelle1.Range("2:3").Formula = Tabelle1.Range("1:1").Formula
    Tabelle1.Range("2:3").SpecialCells(xlCellTypeConstants).ClearContents
End Sub

否则这是另一种解决方案

Sub Insert_Multiple_Rows()
    Tabelle1.Range("2:3").EntireRow.Insert
    Intersect(Tabelle1.Range("1:1").SpecialCells(xlCellTypeFormulas).EntireColumn, Tabelle1.Range("1:3")).FillDown
End Sub

都给出相同的结果