繁体   English   中英

Excel VBA查找/替换宏

[英]Excel VBA Find/Replace Macro

早上好,

我正在使用一个相当大的数据集,并且正在尝试查找/替换在一个电子表格中修改后的值,使其恢复为原始值。 我想做的是让宏在单元格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

从这里我茫然。 我知道Range(“ A1”)。Select会粘贴到“查找/替换”框的“查找”部分中,但是如何告诉excel我要选择另一个单元格(在这种情况下为B1)作为替换部分? 然后如何告诉Excel我希望它继续这样做,直到用完A列中的值?

预先感谢您提供的任何帮助。

我认为您正在执行类似以下代码的操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM