我有一張表,我需要替換幾百個所有類似格式的公式。基本上,我需要刪除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