Excel如何在列中的所有单元格中替换公式的一部分

时间:2016-01-26 16:59:51

标签: excel vba excel-vba

我正在尝试在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公式中内置的SUBSTITUTEREPLACE函数。我也可以使用那些吗?

2 个答案:

答案 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