我正在尝试在Excel中将='Trial Balance'!E2+'Trial Balance'!E3
替换为='Trial Balance'!C2+'Trial Balance'!C3
。
如何更改' E'中列中所有行的公式?到' C'?
我写了一个VB宏,但我认为这是错误的。有人可以帮我纠正一下。
Sub RoundToZero2()
For Each C In Worksheets("BalanceSheet").Range("BU8:BU103").Cells
If E Then c.Value = C
Next
End Sub
我还遇到了excel公式中内置的SUBSTITUTE
和REPLACE
函数。我也可以使用那些吗?
答案 0 :(得分:2)
使用此
Worksheets("BalanceSheet").Range("BU8:BU103").Replace "'!E","'!C"
答案 1 :(得分:0)
只要您的公式中没有其他资本" E"除了您要替换的公式之外。这样做
Sub RoundToZero2()
Dim formstr As String
For Each c In Worksheets("BalanceSheet").Range("BU8:BU103").Cells
formstr = c.Formula
formstr = Replace(formstr, "!E", "!C", , , vbBinaryCompare)
c.Formula = formstr
Next
End Sub