我有一张表,我需要替换几百个所有类似格式的公式。基本上,我需要删除IF语句和公式中这些语句的第二部分。我的想法是搜索所有具有“IF($ B $ 2 = $ BF $ 3”)的单元,然后在那些单元中用“”替换该位,然后再次用“”替换包括和之后的所有单元。但VBA给我“运行时错误1004应用程序或用户定义的错误。” 这将需要离开“=”,在明显的开始。下面的代码中。用Excel正则表达式替换Excel中的公式
Sub Replace()
Set rng = Worksheets("Sheet1").Range("F36:AG231")
For Each c In rng
If InStr(1, ActiveCell.Formula, "IF", vbTextCompare) > 0 Then
y = ActiveCell.Formula
pos_1 = InStr(1, y, ",", vbTextCompare)
pos_2 = InStr(1 + pos_1, y, ",", vbTextCompare)
ActiveCell = "=" & Mid(y, 1 + pos_1, Len(y) - (1 + pos_2))
End If
Next
End Sub
我很想知道是否三个 '标准' 查找和替换会为你工作:1' = IF *,'带'z ='2',*'不带任何东西,3'z'不带任何东西。 – pnuts
你在'范围内删除所有'IF's “F36:AG231”',或只是这个特殊的一个'IF($ B $ 2 = $ BF $ 3' – brettdj
它运行在我的钻机精细,当然?你需要在“End If”和“Next”行之间添加一些类似“activecell.offset(1,0).select”的偏移量 – ron