VBA / Excel:dynamic复制公式的可能性

我想用一个单元格复制一个单元到另一个同一行的VBA,

例如

E1 = "=(E441+E747+E750)*-1" to F1 -> = "=(F441+F747+F750)*-1" 

但是这个代码片段:

 Dim r As Excel.Range Dim lRow As Long lRow = tbXlApp.WorksheetFunction.Match("Test", Range("C:C"), 0) 'Line 4 tbXlWs.Cells(lRow, 5).Formula = "=(E441+E747+E750)*-1" For Each r In tbXlWs.Range(tbXlWs.Cells(lRow, 6), tbXlWs.Cells(lRow, 4 + x)) r.Formula = tbXlWs.Cells(lRow, 5).Formula Next r 

只需粘贴第4行定义的单元格的公式即可。

回顾一下这个例子,结果就是

  E1 = "=(E441+E747+E750)*-1" to F1 -> = "=(E441+E747+E750)*-1 

但在这种情况下应该是F列。 我需要改变什么?

谢谢!

您可以一次设置公式:

 Dim lRow As Long lRow = tbXlApp.WorksheetFunction.Match("Test", Range("C:C"), 0) 'Line 4 tbXlWs.Range(tbXlWs.Cells(lRow, 5), tbXlWs.Cells(lRow, 4 + x)).Formula = "=(E441+E747+E750)*-1" 

然后根据相关列调整每个公式,就像在Excel中复制它一样。

 'Line 4 tbXlWs.Cells(lRow, 5).Formula = "=(E441+E747+E750)*-1" 

改变这个

 tbXlWs.Cells(lRow, 5).Formula = "=(F441+F747+F750)*-1"