Arrays 通过VBA编码替换字符串
如果数组中的字符串(一个单词)与该单元格的字符串(多个单词)匹配,我将尝试用数组中包含的字符串(一个单词)替换特定列的字符串(多个单词)。 我使用了以下代码。它没有显示任何错误,但它没有运行。所以,基本上,当我运行这段代码时,我的数据集没有变化。有人能帮我找出这个代码中的问题吗Arrays 通过VBA编码替换字符串,arrays,excel,vba,str-replace,Arrays,Excel,Vba,Str Replace,如果数组中的字符串(一个单词)与该单元格的字符串(多个单词)匹配,我将尝试用数组中包含的字符串(一个单词)替换特定列的字符串(多个单词)。 我使用了以下代码。它没有显示任何错误,但它没有运行。所以,基本上,当我运行这段代码时,我的数据集没有变化。有人能帮我找出这个代码中的问题吗 Sub FindReplace() Dim Arr As Variant Arr = ActiveSheet.Range("T2:T854") Dim i As Long For i = LBound
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
样本数据和预期结果pleaseMy数据的H列包含此类查询(约90000):孟加拉国旅游套餐、阿富汗活动、孟加拉国旅游套餐、巴厘岛浪漫之地、孟加拉国旅游套餐、孟加拉国旅游套餐、孟加拉旅游套餐、阿尔及利亚天气、,孟加拉国旅游套餐、巴哈马旅游套餐、巴哈马旅游套餐、孟加拉国游客签证、阿尔及利亚旅游套餐、巴哈马旅游套餐、阿尔及利亚旅游套餐,T栏包含约1000个目的地的名称,如孟加拉国、阿尔及利亚、,等。@JeepedI需要将H列中的查询替换为目标名称,如果H列任何单元格中的一个单词与T列中的目标名称匹配@JeepedLet让我用一个例子来解释一下:对于包含“孟加拉国游客签证”的字符串,我只想用“孟加拉国”替换它,对于“阿尔及利亚旅游套餐”,我只想用“阿尔及利亚”替换它。。。等等@嘲笑