分享

VBA 多工作簿多关键字替换

 樵夫1964 2021-11-27

   今日收到网友求助,实现多工作簿下面多个关键字替换,一看就没看过我的前面的文章案例,之前写过一个,今日再次写下,其实原理很简单,分析下需求:

【1】问题描述:

   希望对大量工作簿的全部sheet的多个关键字进行替换:

图片

图1

对里面的红色文字按照对应关系进行替换:

图片

图2

【2】分析思路

1:利用VBA循环打开工作簿,循环多个sheet,利用replace来进行替换

2:将图2的内容放入数组,实现多关键字替换

3:单个工作簿循环完毕后保存,关闭,再进行下一个。

【3】结果验证

图片

图片

代码

Sub QQ372936709()

    Application.DisplayAlerts = False

    Application.ScreenUpdating = False

    Application.AskToUpdateLinks = False

    arr = ActiveSheet.Range('a2').CurrentRegion

    Dim wb As Workbook

    myname = Dir(ThisWorkbook.Path & '\' & '*.xls*')

    Do While myname <> ''

        If myname <> ThisWorkbook.Name Then

            Set wb = Workbooks.Open(ThisWorkbook.Path & '\' & myname)

             For i = 1 To wb.Sheets.Count

                For j = 1 To UBound(arr)

                    wb.Sheets(i).UsedRange.Replace arr(j, 1), arr(j, 2)

                Next

            Next

            Application.Windows(wb.Name).Visible = True

             wb.Close 1

        Else

        End If

        myname = Dir

    Loop

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    Application.AskToUpdateLinks = True

    MsgBox '完成替换'

End Sub

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多