首页 > 解决方案 > VBA 仅在当前工作表而不是整个工作簿上运行

问题描述

我的代码不会在我活跃的那个工作簿上运行。我希望它在工作簿中的每张纸上运行可能只是一个简单的修复

Sub Remove_symbol()

'remove "Â" from data

    Dim ws As Worksheet
    Dim Rng1 As Range

For Each ws In ThisWorkbook.Worksheets

    Set Rng1 = Range(Cells.Address)

    Rng1.Replace What:="~Â", Replacement:="", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

'and duplicates

    Rng1.Replace What:="~(pH Unit)(pH Unit)", Replacement:="(pH Unit)", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Rng1.Replace What:="~(µS/cm)(µS/cm)", Replacement:="(µS/cm)", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Rng1.Replace What:="~(mg/L)(mg/L)", Replacement:="(mg/L)", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Rng1.Replace What:="~(µg/L)(µg/L)", Replacement:="(µg/L)", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Next ws

End Sub

标签: excelvba

解决方案


Set Rng1 = Range(需要Set Rng1 = ws.Range( 感谢braX在评论中的回答


推荐阅读