【问题标题】:Change VBA code to find and replace in multiple worksheets [duplicate]更改 VBA 代码以在多个工作表中查找和替换 [重复]
【发布时间】:2021-09-30 15:09:06
【问题描述】:

我有以下代码从工作表“输出”中的工作表“名称”列 A 中搜索单词,并将这些单词替换为“名称”列 B。

我正在尝试扩展它在所有电子表格中进行查找和替换的宏,而不仅仅是在“输出”中。

感谢任何帮助

Sub multiFindandReplace()

Dim myList, myRange
Set myList = Sheets("Names").Range("A1:B238")
Set myRange = Sheets("Output").Range("A1:Y99")
For Each cel In myList.Columns(1).Cells
myRange.Replace What:=cel.Value, Replacement:=cel.Offset(0, 1).Value, LookAt:=xlWhole
Next cel

End Sub

【问题讨论】:

  • 因此您需要第二个循环来遍历所有工作表。你都尝试了些什么?请展示您的尝试并解释哪里出了问题(No attempt was made)。最后问一个问题(你还没问,见How to Ask)。 • 如果您不知道从哪里开始,请始终从研究开始。您的问题已经被问到:Modify VBA code for find and replace to loop through multiple Worksheets
  • 我知道有人问过类似的问题。如果我有更多的编码经验,我会自己做,不会问。无论如何感谢循环的提示,我将尝试从那里继续
  • 请注意这不是免费的编码服务。如果您有疑问/问题,人们会在这里为您提供帮助,但您是必须这样做的人。所以不太可能有人为你做这件事,如果你甚至没有尝试解决它,你可以复制粘贴它。如果您尝试过,我们至少可以告诉您哪里出错以及如何解决。

标签: excel vba


【解决方案1】:

使用工作簿的sheets 属性返回一个集合,您可以使用For Each 循环访问该集合。跳过Names 工作表并通过将值放入数组来避免多次读取names 工作表。

Option Explicit
Sub multiFindandReplace()
    Dim wb As Workbook, ws As Worksheet
    Dim myList As Variant, myRange As Range
    Dim i As Long, msg As String
     
    ' find/replace list
    Set wb = ThisWorkbook ' or ActiveWorkbook
    myList = wb.Sheets("Names").Range("A1:B238").Value2
    
    For Each ws In wb.Sheets
        If ws.Name <> "Names" Then
            Set myRange = ws.Range("A1:Y99")
            For i = LBound(myList) To UBound(myList)
                If Len(myList(i, 1)) > 0 Then
                    myRange.Replace _
                      What:=myList(i, 1), _
                      Replacement:=myList(i, 2), _
                      LookAt:=xlWhole
                End If
            Next i
            msg = msg & vbCr & ws.Name
        End If
    Next
    MsgBox "Sheets processed :" & msg, vbInformation, wb.Name
End Sub

【讨论】:

    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多