[英]Excel Macro IF replace formula
我正在嘗試替換單元格中的值,以便如果它具有0即可將其隱藏。
excel公式為以下IF(A1=0;"";A1)
。
我正在嘗試自動執行此操作,但是遇到了問題。
到目前為止,我想到了這個:
Sub apply_Error_Control()
Dim cel As Range
For Each cel In Selection
If cel.HasFormula Then
cel.Formula = Replace(cel.Formula, "=", "=IFF(") & "=0" & ";" & "")"
End If
Next cel
End Sub
給此鏈接一個視圖: 三種隱藏零值的方法
我仍然強烈建議您沿單元格格式化路線進行操作:
Sub apply_Error_Control()
Dim rngCurrent As Range
If TypeName(Selection) = "Range" Then
Set rngCurrent = Selection.SpecialCells(xlCellTypeFormulas)
rngCurrent.NumberFormat = "0;-0;;@"
End If
End Sub
但是,如果您堅持使用基於公式的方法,請至少使用我概述的方法,這樣可以避免在(例如)嵌入式圖表或按鈕上運行代碼,並立即使用公式點擊這些單元格-遍歷查找具有公式的對象是乏味且緩慢的。
嘗試一下(注意Selection.Cells
,使其僅在您手動選擇的范圍內起作用):
Sub apply_Error_Control()
Dim cel As Range, _
RangeInForumla As String
For Each cel In Selection.Cells
If cel.HasFormula Then
RangeInForumla = Replace(cel.Formula, "=", "",1,1)
cel.Formula = "=IF(" & RangeInForumla & "=0," & Chr(34) & Chr(34) & "," & RangeInForumla & ")"
End If
Next cel
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.