0

还有另一个 VBA 循环问题。

无法完全弄清楚如何通过我在这里看到的一些不同的循环问题/答案来获得所需的结果。

我有两列。A 列包含将用于替换 B 列中 URL 的特定部分的文本(类似于: http ://www.exampleurlwithTEXTIWANTTOREPLACE.com )。

我可以管理单个细胞更换:

.Range("B1").Replace "TEXTIWANTTOREPLACE", "TEXT2" + .Range("A1")

但是我需要循环它...A1需要替换B1中的文本。A2 需要替换 B2 中的文字。依此类推,直到循环到达 A 列中的一个空单元格。

任何帮助深表感谢!

4

2 回答 2

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”更改为您要替换的文本。确保在查找和替换文本周围留下双引号。调整范围以适合您的情况。应该比循环选项快很多(取决于范围有多大)。

于 2013-10-15T14:45:56.850 回答
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
于 2013-10-15T14:35:55.397 回答