參考代碼如下(請確保在工作表中添加的按鈕為表單控件,并修改每一個按鈕的文字為所要替換的內容):
Public Sub ChangeFormula(ByVal Column As Variant) Dim varCaller As Variant On Error Resume Next varCaller = Application.Caller If Err.Number = 0 Then Dim strFind As String Dim strReplace As String Dim strMonth As String Dim rngColumn As Range Dim rngFormula As Range strMonth = ChrW$(&H6708) strReplace = "]" & ActiveSheet.Buttons(varCaller).Caption strFind = "]??" & strMonth Set rngColumn = ActiveSheet.Columns(Column) Set rngFormula = rngColumn.Find(strFind, , xlFormulas, xlPart) If rngFormula Is Nothing Then strFind = "]?" & strMonth Set rngFormula = rngColumn.Find(strFind, , xlFormulas, xlPart) End If If Not (rngFormula Is Nothing) Then rngColumn.Replace strFind, strReplace End If Set rngFormula = Nothing Set rngColumn = Nothing End IfEnd Sub
然后右擊按鈕選擇指定宏并輸入宏名:
'ChangeFormula 3'
或
'ChangeFormula "C"'