有另一个VBA循环问题。
无法弄清楚如何通过我在这里看到的各种循环问题/答案来获得所需的结果。
我有两列。 A列包含将用于替换B列中URL的特定部分的文本(如下所示:http://www.exampleurlwithTEXTIWANTTOREPLACE.com)。
我可以管理单个细胞更换:
.Range("B1").Replace "TEXTIWANTTOREPLACE", "TEXT2" + .Range("A1")
但是我需要循环它... A1需要替换B1中的文本。 A2需要替换B2中的文本。依此类推,直到循环到达A列中的空单元格。
非常感谢任何帮助!
答案 0 :(得分:1)
如果您对非循环选项感兴趣,可以使用:
Sub test()
Sheet1.Range("B2:B25").Formula = "=SUBSTITUTE(A2,""A"",""B"")"
Sheet1.Range("B2:B25").Value = Sheet1.Range("B2:B25").Value
End Sub
将A2替换为您要开始更换的单元格,将“”A“”更改为您要查找的文本,将“B”“更改为要替换它的文本。请务必在查找和替换文本周围留下双引号。调整范围以适合您的情况。应该比循环选项快得多(取决于范围有多大)。
答案 1 :(得分:0)
定义表示列的范围,以及表示单个单元格的范围变量,然后迭代此列范围内的单元格,并进行替换:
Dim colRange as Range
Dim cl as Range
Set colRange = Range("B1:B100") '# Modify as needed
For each cl in colRange.Cells
cl.Replace "TEXTIWANTTOREPLACE", "TEXT2" & cl.Offset(0,-1).Value, xlPart
Next