今日收到網友求助,實現多工作簿下面多個關鍵字替換,一看就沒看過我的前面的文章案例,之前寫過一個,今日再次寫下,其實原理很簡單,分析下需求:
【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