【问题标题】:Find and Replace Text using Excel VBA使用 Excel VBA 查找和替换文本
【发布时间】:2019-10-23 00:18:43
【问题描述】:

我有一个包含订单信息的文件。供应商发送我不想包含的字体代码。我正在尝试删除字体代码:

它是这样出现的:

个性化:
J#616
防弹少年团#P47
蒂姆#P46
量身定制的夜晚*#none
梅西#P46 弗兰克#P46

我希望结果如下所示:

个性化:
J
防弹少年团
蒂姆
量身定制的夜晚
梅西弗兰克

这是代码:

Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long

fndList = Array("#616", "#P46", "#P47", "#none")
rplcList = Array("", "", "", "")

For x = LBound(fndList) To UBound(fndList)
    For Each sht In ActiveWorkbook.Worksheets
        sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
          LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
          SearchFormat:=False, ReplaceFormat:=False
    Next sht
Next x

我没有收到任何错误,但没有对文本进行任何更改。

【问题讨论】:

  • 我试过你的代码,它对我有用。确保正确的工作簿活动
  • 或者如果您正在使用的工作簿中的代码,您也可以使用以下代码:ThisWorkbook.Worksheets

标签: excel vba replace find


【解决方案1】:

我建议您不要在非必要时使用 ActiveWorkbook。

既然您知道工作簿的名称,请声明并使用它。

Dim wb as Workbook
Set wb = Workbooks("name_of_your_workbook")

然后使用变量 'wb' 代替 ActiveWorkbook,例如

For Each sht In wb.Worksheets

祝你好运

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 2014-10-12
    • 2019-08-27
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多