Excel VBA查找/替换宏

时间:2017-10-30 11:30:31

标签: excel-vba replace vba excel

早上好,

我正在处理一个相当大的数据集,我正在尝试查找/替换已在一个电子表格中修改回原始值的值。我想要做的是让宏查找单元格A1中的信息并将其替换为单元格B1中的值,然后继续向下直到单元格A3600:B3600。一般来说,我非常擅长调查我在这里找到的代码来实现我想做的事情,但我对我应该寻找的内容感到茫然。

我现在拥有的是:

Sub Macro1()
'
' Macro1 Macro
'

'
Range("A1").Select

Selection.Copy
Cells.Replace What:=ActiveCell.Value, Replacement:="????", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
End Sub

从这里我不知所措。我理解范围(" A1")。选择将粘贴到查找/替换框的查找部分,但是如何告诉excel我想要选择另一个Cell,在此案例B1,替换部分?然后我如何告诉Excel我希望它继续这样做,直到A列中的值用完为止?

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

我认为您正在使用以下代码:

Option Explicit

Sub Macro1()

Dim Rng As Range
Dim OrigStr As String, ReplaceStr As String

Set Rng = Range("A1:B3600")
OrigStr = Range("A1").Value2
ReplaceStr = Range("B1").Value2

' option 1: replace only if the whole cell's string equals to OrigStr
Rng.Replace What:=OrigStr, Replacement:=ReplaceStr, LookAt:=xlWhole

' option 2: replace also partial match inside the cell's string
Rng.Replace What:=OrigStr, Replacement:=ReplaceStr, LookAt:=xlPart

End Sub