excel - 从单元格值中查找和替换多个文本

时间:2012-11-17 01:13:31

标签: excel vba

我有一张包含模板化数据的Excel表格。我希望能够将A1:A5中出现的单词替换为我在B1:B5中为文档的其余部分输入的内容。

现在我要离开这个(我不太了解VBA):

Sub UpdatePartial()
With ActiveSheet.UsedRange
.Replace "ZIPCODE", "B1", xlPart
.Replace "NAME", "B2", xlPart
.Replace "CITY", "B3", xlPart
.Replace "STATE", "B4", xlPart
.Replace "PHONE", "B5", xlPart
End With
End Sub

但我想将A替换为B1-B5的内容而不是文字“B1”,“B2”,...,“B5”

2 个答案:

答案 0 :(得分:1)

而不是

.Replace "ZIPCODE", "B1", xlPart
使用
.Replace [a1].Value, [b1].Value, xlPart

如果您只想在单元格中替换整个单词 (即如果你想用 dog 替换 cat 但是避免将 catscan 更改为 dogscan 然后构建一个空格检查在字符串之前或之后)

使用
.Replace " " & [a1].Value, " " & [b1].Value, xlPart
.Replace [a1].Value & " ", [b1].Value & " ", xlPart

您的更新问题

Sub UpdatePartial()
    Dim rng1 As Range
    ActiveSheet.UsedRange
    Set rng1 = Intersect(ActiveSheet.UsedRange, Range(Cells(6, "a"), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)))
    With rng1
        .Replace [a1].Value, [b1].Value, xlPart
    End With
End Sub

答案 1 :(得分:1)

您可以使用

引用单元格(地址)值
Range("B1").value