2012-11-17 127 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 
相關問題