在Excel工作表中插入新行时复制所有公式

时间:2018-09-03 08:09:54

标签: excel excel-vba excel-formula excel-2010

我想在Excel工作表中插入新行时复制所有公式。我有一些计算公式,我正在从另一个Excel文件中获取一些值。

我在此Excel工作表中使用的公式如下:

  1. =IFERROR(VLOOKUP(C4,'list.xlsx]Sheet1'!$A$4:$L$261,3,FALSE),"")

  2. =IFERROR(G6*F6,"")

我用Google搜索了一个解决方案。我有2个主意。

使用这些数据制作表格。 我尝试了这个。公式1:效果很好。但是第二个公式没有复制到下一行。

第二个使用VBA代码的代码。只能使用一次。下次打开excel时,我必须再次创建VBA代码。同样,它需要在单元格之间单击以创建下一行。

我想在sl no(最左边的列)上单击鼠标右键,然后单击“插入”,以创建一个新行。

请帮助。

1 个答案:

答案 0 :(得分:0)

对不起,我是新来的,但我想为您提供帮助:

  1. 您使用条件阻止,例如:$A$4:$L$261
  2. =IFERROR(G6*F6,"")不复制任何内容
  3. 在VBA中,您获得了函数PasteSpecial,该函数可满足以下条件: 细胞,这里有些事的使用方式:

    With Worksheets("YourWorksheet_name")
      .Range("Your_cell_input").Copy
       .Range("Your_cell_output").PasteSpecial Operation:=xlPasteSpecialOperationAdd
    End With
    
  4. 如果我能很好地理解您的想法,那就是想让马洛在添加新杆时粘贴什么东西。我建议使用这样的东西:

    让我们做一个演示,您在colmn C上有公式可以复制它(它会影响A列)

    Private Sub Worksheet_Change(ByVal Target As Range)
    
      If Target.Column = ActiveCell.Column Then
        refRow = Target.Row - 1
        thisRow = Target.Row
        Range("C" & refRow).Copy Range("B" & thisRow)
      End If
    
    End Sub
    
  5. 无论如何,请添加更多代码或对您期望的内容进行屏幕截图