我一直在尝试想出一个宏,通过一个列并替换单元格中的最后一个单词。
Dim LR As Long, i As Long
Application.ScreenUpdating = False
LR = Range("A" & Rows.Count).End(xlUp).row
For i = 1 To LR
With Range("A" & i)
If Right(.Value, 4) = "word" Then .Value = Right(.Value, Len(.Value) + 10) & " different word"
End With
Next i
我有这段代码,它将替换的内容添加到末尾,但我对它的理解不够好,无法让它替换原来的内容。
欢迎任何意见。
我喜欢在这种情况下使用RegEx.Replace
。这里的神奇之处在于美元符号$
表示"行结束"。因此,当我有RegEx.Pattern = "word$"
时,这意味着它只会匹配word
,如果它是那行文本中的最后一件事。
Dim LR As Long
Dim i As Long
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
RegEx.Global = True
RegEx.Pattern = "word$"
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To LR
With Range("A" & i)
.Value = RegEx.Replace(.Value, " different word")
End With
Next i