替换活动单元格上的文本

时间:2018-12-19 20:15:19

标签: excel vba excel-vba

我想替换活动单元格中的文本。从“总和”到“总和”。 我的代码是:

Sub Macro2_substitute()    
  cell = WorksheetFunction.Substitute(cell, "Total", "")   
End Sub

它不起作用。帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

尝试一下:

With ActiveCell
    .Value2 = Worksheetfunction.Substitute(.Value2, "Total", "")
End With

如果要获取活动单元格或当前所选单元格的值,请使用ActiveCell
我使用了With子句来明确地调用它,但是它也可以这样写。

ActiveCell.Value2 = Worksheetfunction.Substitute(ActiveCell.Value2, "Total", "")

这同样有效,但隐含的。

ActiveCell = Worksheetfunction.Substitute(ActiveCell, "Total", "")

答案 1 :(得分:0)

替换vs替换

您更正的代码行:

Sub SubstituteActiveCell()
  ActiveCell = WorksheetFunction.Substitute(ActiveCell, " Total", "")
End Sub

您忘记总计之前的空格。为了避免这种情况,通常最好替换或替换给出的内容。

VBA具有类似的功能,称为“替换”:

Sub ReplaceActiveCell()
  ActiveCell.Replace "sum Total", "sum"
End Sub

应该更好。

答案 2 :(得分:-1)

Option Explicit
Sub SubstituteTotal()

    Dim rng As Range, cll As Range

    Set rng = Selection

    For Each cll In rng
        cll.Value = WorksheetFunction.Substitute(cll.Value, "Sum Total", "Sum")
    Next

End Sub