マクロが入ってるエクセルと同じフォルダのエクセルファイル名が
リストの中にあった時
チェックしてくれるマクロ
下準備
チェックリストを準備する。
チェックリストは氏名の間のスペースを開けないこと。
ファイル名変換のマクロと組み合わせて使うとよい。
sacu.sacu-ri.com
コード
Sub ファイルがあったら〇を入力() Dim ws As Worksheet Dim Path As String Dim cell As Range Dim fileName As String ' リストがあるシートをアクティブシートに設定 Set ws = ActiveSheet ' マクロエクセルが保存されているフォルダのパスを取得 Path = ThisWorkbook.Path & "\" ' ファイル名を拡張子がxlsxのファイルを取得 fileName = Dir(Path & "*.xlsx") ' 繰り返し処理 Do While fileName <> "" ' ファイル名から空白を削除し、拡張子を取り除く Dim fileNameWithoutExtension As String fileNameWithoutExtension = Left(Replace(fileName, " ", ""), InStrRev(Replace(fileName, " ", ""), ".") - 1) ' ファイル名を検索 Set cell = ws.Cells.Find(What:=fileNameWithoutExtension, LookIn:=xlValues, LookAt:=xlWhole) If Not cell Is Nothing Then ' 該当する行の隣のセルに"〇"を挿入 cell.Offset(0, 1).Value = "〇" Else MsgBox "リストに名前がありません" & vbCrLf & fileName End If ' 次のファイル名を取得 fileName = Dir Loop MsgBox "チェック完了" End Sub
注意点
チェックリストにはスペースを使用しないこと。
ファイル名がチェックシートにない場合はメッセージが表示される。