我正在尝试将T13列中的所有文本替换为T-lastrow。
因为我已经并且将在T列中收到更多文本(动态工作表将从另一个工作表中获取导入的数据)。
基本上,我希望将T中的文本放入:
{Nyckelord="TEXT HERE";}
然而,我的宏进入无限循环(我认为)。
是否也可以自动删除T列中单词之间可能出现的任何逗号?
例如:
列T13 +中的文字:
冰淇淋,华夫饼干
它应该是{Nyckelord="Icecream waffle";}
Sub SearchTerms()
Dim Findtext As String
Dim Replacetext As String
Dim LastRowInput As Long
Dim field1 As String
LastRowInput = Cells(Rows.count, "T").End(xlUp).Row
For i = 2 To LastRowInput
field1 = Range("T13" & i).Value
Findtext = Sheets("Sheet1").Range("T13").Value
field1 = Sheets("Sheet1").Range("T" & LastRowInput + 1).Value
Replacetext = "{Nyckelord=""" & field1 & """;}"
Sheets("Sheet1").Select
Cells.Replace What:=Findtext, Replacement:=Replacetext, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End Sub
答案 0 :(得分:0)
field1 = Range("T13" & i).Value
此行将开始在单元格T132处读取。你是说这个吗?
field1 = Range("T" & 13 + i).value
在这种情况下,循环应该是:
For i = 0 to LastRowInput - 13
另外,如果您只想将每个单元格的内容包装在" T"使用{Nyckelord="TEXT HERE";}
语法,为什么不这样做呢?
LastRowInput= Range("T" & ActiveSheet.UsedRange.Rows.Count + 1).End(xlUp).Row
For i = 0 to LastRowInput - 13
Range("T" & 13 + i).Value = "{Nyckelord=" & Range("T" & 13 + i).Value & ";}"
Next i