あなたは書類番号のついたファイルが所定の場所に保存されているか、確認するのが面倒だと思ったことはありませんか?
「書類番号_○○○」のようなファイルを、決まったフォルダに保存するルールになっている場合、保存されていないと困るので、きちんと保存されているか確認する必要があります。
何百、何千とあるファイルを目視で確認するのは大変ですよね。
エクセルVBAを使えば、一瞬でチェックできて、超ラクです。
今回は「エクセルで書類番号のファイルが保存されているか自動検索して確認する方法」を紹介します。
エクセルで書類番号のファイルが保存されているか自動検索して確認する方法
エクセルで書類番号のファイルが保存されているか自動検索して確認する方法です。
今回はデスクトップのデータフォルダに下記のようなファイルが入っている場合を例に紹介します。

エクセルのリストはこのようになっています。
A列にファイル保存されていたら「○」、されていなかったら「×」が出るようにします。
検索するフォルダは、H1セルにフルパスを入れておきます。

開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.コード入力画面が開く

4.コードを入力
コードを入力します。

5.ボタンができた →ボタンを押す
ボタンができたら、ボタンを押します。

6.ファイル保存チェック結果が表示された
「チェックが完了しました!」の表示が出て、A列に「○、×」のチェック結果が表示されました。
○が保存されている。×が保存されていない、です。

これでファイル保存のチェックは簡単ですね!
まとめ
エクセルで書類番号のファイルが保存されているか自動検索して確認する方法です。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンを押す
6.ファイル保存チェック結果が表示された
これでフォルダ内のファイル保存状況が確認出来て簡単ですね!
最後に、今回使ったコードです。
Dim folderPath As String
Dim keyword As String
Dim f As String
Dim lastRow As Long
Dim i As Long
'検索対象フォルダ(H1セル)
folderPath = Range("H1").Value
'フォルダパスの末尾に \ を追加(必要な場合)
If Right(folderPath, 1) <> "\" Then
folderPath = folderPath & "\"
End If
'B列の最終行を取得
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
'B2 ? 最終行までループ
For i = 2 To lastRow
keyword = Cells(i, "B").Value
If keyword <> "" Then
'前方一致でファイルを検索(例:123 → 123_xxx.xlsx でもOK)
f = Dir(folderPath & keyword & "*.*")
If f <> "" Then
Cells(i, "A").Value = "◯"
Else
Cells(i, "A").Value = "×"
End If
Else
Cells(i, "A").Value = ""
End If
Next i
MsgBox "チェックが完了しました!", vbInformation

コメント