在 Excel 中查找和替换

在 Excel 中查找和替换

我在 Sheet 1 中有一张表,其中包含 A 和 B 两列。我创建了一个宏来查找 Sheet 2 中 A1 的值,并用 B1 的值替换 Sheet 2 中的 A1 值

我希望改进宏以覆盖 A 列和 B 列的整个范围。

    子查找_替换()

    工作表(“Sheet1”).选择
    范围("A1").选择
    选择.复制
    工作表(“Sheet1”).选择
    范围("B1").选择
    应用程序.CutCopyMode = False
    选择.复制
    工作表(“Sheet2”).选择
    选择.替换内容:=“值 1”,替换:=“值 X”,查看:= _
        xlPart,SearchOrder:=xlByColumns,MatchCase:=False,SearchFormat:=False,_
        ReplaceFormat:=False
子目录结束

示例表

** 希望改进 Range("A1").Select 以覆盖范围 A 和 B 中的所有可用单元格

答案1

试试这个代码。示例范围是 Sheet1 中的 A1:A10。在 VBA 代码中使用 Offset 方法自动引用 B1:B10。但是,正如我在上面的评论中提到的,限制适用。工作表是同一工作簿中的 Sheet1 和 Sheet2。

请尝试此代码并恢复。

Sub Macro1()
Set myrange = Sheet1.Range("A1:A10")
For Each cell In myrange

Dim find1
Dim replace1

find1 = cell.Value
replace1 = cell.Offset(RowOffSet:=0, ColumnOffset:=1).Value

    Sheet2.Cells.Replace What:=find1, Replacement:=replace1, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Next cell
End Sub

相关内容