VBA / Excel : 可以动态复制公式
VBA / Excel : Possibility to copy formula dynamically
我想将公式从一个单元格复制到同一行中的另一个单元格 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列。我需要更改什么?
谢谢!
'Line 4
tbXlWs.Cells(lRow, 5).Formula = "=(E441+E747+E750)*-1"
将此更改为
tbXlWs.Cells(lRow, 5).Formula = "=(F441+F747+F750)*-1"
您可以一次设置公式:
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 中复制它一样。
我想将公式从一个单元格复制到同一行中的另一个单元格 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列。我需要更改什么?
谢谢!
'Line 4
tbXlWs.Cells(lRow, 5).Formula = "=(E441+E747+E750)*-1"
将此更改为
tbXlWs.Cells(lRow, 5).Formula = "=(F441+F747+F750)*-1"
您可以一次设置公式:
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 中复制它一样。