2012-11-17 88 views
3

我有一个带有模板数据的Excel工作表。我希望能够替换A1:A5中的文字与我在文档的其余部分输入B1:B5的内容。excel - 从单元格值中查找和替换多个文本

现在我要关闭这个(我不知道很多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 

,但我想用B1-B5内容而不是文字文本,以取代A小号“B1”, “B2”,..., “B5”

+0

这建立在较早的问题,[EXCEL - 查找和替换多个单词](http://stackoverflow.com/questions/13263154/excel-find-and-replace-multiple-words/13263284#13263284) – brettdj

回答

1

不是

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

如果你想只在细胞 替换整个单词(也就是说,如果你想更换但避免改变CATSCANdogscan然后在空间检查前建立或后的字符串)

使用
.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 
+0

你们真棒!感谢你们两位。我将如何让它不改变a1-a5的初始值? – abbyssic

+0

更新为排除行1:5 – brettdj

+0

+1。狗可以扫描猫只是无法扫描的东西。 –

1

您将能够单元格引用(地址)值与

Range("B1").value 
相关问题