使用VBA,一鍵查找出多個工作簿下所有工作表內的值

前幾天寫了一個一鍵合併多個EXCEL工作簿的程式碼之後,

有網友提出能不能寫一個一鍵查詢多個工作簿下所有工作表內的值,並將這些值自動標紅的程式碼。

《一鍵合併多個EXCEL工作簿的程式碼》詳情點選下面連結:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

https://www。toutiao。com/i6900811064116855303/

我覺得這是個非常實用的技能,於是花了點心思研究出來了,並稍稍將程式碼優化了下,以便適應於更多場景。

原始碼如下:

Sub find_value()

Dim rng As Range

Dim wb As Workbook

Dim str As String

Dim sht As Worksheet

spath = InputBox(“請輸入需要合併工作簿的檔案路徑,比如檔案在D盤的a資料夾下,則輸入D:\a”)

Text = InputBox(“請輸入需要查詢的資料”)

str = Dir(spath & “\*。xls*”)

Application。DisplayAlerts = False

For i = 1 To 200

Set wb = Workbooks。Open(spath & “\” & str)

For Each sht In wb。Sheets

Set rng = sht。Cells。find(Text)

If Not rng Is Nothing Then

For j = 1 To 1000

Set rng = sht。Cells。FindNext(rng)

rng。Interior。Color = 255

If rng Is Nothing Then

Exit For

End If

Next

End If

Next

wb。Save

wb。Close

str = Dir

If str = “” Then

Exit For

End If

Next

Application。DisplayAlerts = True

End Sub

以下是程式碼的演示影片:

影片載入中。。。

程式碼使用方法:

1、首先新建一個工作簿,開啟“開發工具”選項卡下的“visual basic”工具。

使用VBA,一鍵查找出多個工作簿下所有工作表內的值

2、在visual basic編輯工具裡選擇一個工作表,再點選插入,然後點選“模組”。

使用VBA,一鍵查找出多個工作簿下所有工作表內的值

3、在模組編輯欄裡將程式碼貼上進去,

需要執行程式碼就按鍵盤的F5即可

使用VBA,一鍵查找出多個工作簿下所有工作表內的值

關於程式碼簡單說明下:

程式碼可以自定義工作簿所在的資料夾,自定義需要查詢的內容,這在執行程式碼之前就會彈出對話方塊提示,根據提示輸入資料夾路徑與需要查詢的內容即可。

最後喜歡的同學記得加個關注點個收藏[紫薇別走][紫薇別走][紫薇別走]