通过 VBA 编码替换字符串

Replacing Strings through VBA Coding

我正在尝试用数组中包含的字符串(一个词)替换特定列的字符串(多个词),如果数组中的字符串(一个词)与那个细胞。 我使用了以下代码。它没有显示任何错误,但不是 运行ning。所以,基本上,当我 运行 这段代码时,我的数据集没有变化。谁能帮我看看这段代码有什么问题吗?

  Sub FindReplace()
  Dim Arr As Variant
  Arr = ActiveSheet.Range("T2:T854")
  Dim i As Long
  For i = LBound(Arr) To UBound(Arr)
  Columns("H:H").Select
  Selection.Replace What:="*Arr(i)*", Replacement:="Arr(i)", LookAt:= _
    xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
  Next i

  End Sub

我相信您只是遇到了一些字符串连接问题,但可以清理一些代码。

Sub FindReplace()
    Dim Arr As Variant, i As Long

    with ActiveSheet
        Arr = .Range(.Cells(2, "T"), .Cells(.Rows.Count, "T").End(xlUp)).value2

        with .columns(8)
            For i = LBound(Arr, 1) To UBound(Arr, 1)
                .Replace What:="*" & Arr(i, 1) & "*", Replacement:=Arr(i, 1), _
                         LookAt:=xlwhole, SearchOrder:=xlByRows, MatchCase:=False, _
                         SearchFormat:=False, ReplaceFormat:=False
            next i
        end with
    end with

End Sub