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"