Vba Excel如何替换列中所有单元格中公式的一部分
我正在尝试替换Vba Excel如何替换列中所有单元格中公式的一部分,vba,excel,Vba,Excel,我正在尝试替换=“试算平衡”!E2+试算平衡!E3与=“试算平衡”!C2+‘试算平衡’!Excel中的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 我还遇到了
=“试算平衡”!E2+试算平衡!E3
与=“试算平衡”!C2+‘试算平衡’!Excel中的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
函数。我也可以用这些吗?只要你的公式中除了要替换的大写字母外没有其他大写字母“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
用这个
Worksheets("BalanceSheet").Range("BU8:BU103").Replace "'!E","'!C"
是的,我建议你,把它换掉!带“!C也许吧。我想你可以在整个范围内完成,所以工作表(“Sheet4”).range(“BU8:BU103”).replace“!e”,“!c”我得到的下标超出了范围?我试着用ctrl+q作为按钮将其添加到宏中,错误是:@user2769025 my bad,我忘了将您的工作表名称放回宏中。看见Edit@Nathan_Sav关于<代码>的伟大建议!E。我已注册成立公司。我需要立即测试整个范围,您可能是对的,我从未用公式尝试过。@Nathan_Sav请提供您的完整范围替换作为答案。它工作起来比循环快。