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

在Excel工作表中插入新行时复制所有公式,excel,vba,excel-formula,excel-2010,Excel,Vba,Excel Formula,Excel 2010,我想在Excel工作表中插入新行时复制所有公式。我有一些计算公式,我从另一个Excel文件中获取一些值 我在Excel工作表中使用的公式如下: =IFERROR(VLOOKUP(C4,'list.xlsx]Sheet1'!$A$4:$L$261,3,FALSE),“”) =IFERROR(G6*F6,”) 我在谷歌上搜索一个解决方案。我有两个主意 用这些数据做一个表格。 我试过这个。一号方程式运行得很好。但第二个公式并没有复制到下一行 第二个是使用VBA代码。它只工作一次。下次打开excel时,

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

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

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

  • =IFERROR(G6*F6,”)

  • 我在谷歌上搜索一个解决方案。我有两个主意

    用这些数据做一个表格。 我试过这个。一号方程式运行得很好。但第二个公式并没有复制到下一行

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

    我想在右键单击sl编号(最左边的列)并单击“插入”时创建一个新行


    请帮忙。

    对不起,我是新来的,所以我想帮你:

  • 您可以使用条件阻塞,例如:
    $A$4:$L$261
  • =IFERROR(G6*F6,”)
    不复制任何内容
  • 在VBA中,您可以使用函数
    PasteSpecial
    来处理公式 cell,这里是使用它的一些例子:

    With Worksheets("YourWorksheet_name")
      .Range("Your_cell_input").Copy
       .Range("Your_cell_output").PasteSpecial Operation:=xlPasteSpecialOperationAdd
    End With
    
  • 如果我很清楚你想要一个maro什么粘贴一个forulas时,新的棒添加。我建议您使用以下内容:

    让我们做一个演示,在colmn C上有公式来复制它(影响列a)

  • 无论如何,请添加更多的代码你有什么或屏幕截图你期待什么

  • 如果你说“但第二个不起作用”,请具体描述什么不起作用。该公式是否完全没有复制或显示了错误的结果?…与“仅工作一次”相同。你尝试了什么,为什么没有成功?你有错误吗?另外,重新打开文件时丢失的VBA代码放在哪里。。它可能位于不同的工作簿中,或者位于正确工作簿的不同模块中。见“”。@Pᴇʜ=IFERROR(G6*F6,“”)此公式未复制到下一行
    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