通过 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
我正在尝试用数组中包含的字符串(一个词)替换特定列的字符串(多个词),如果数组中的字符串(一个词)与那个细胞。 我使用了以下代码。它没有显示任何错误,但不是 运行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