MW211 EXIT

devlog
ExcelVBA/複数ファイル一括処理
2013年09月05日
フォルダ配下に対象ファイルを置いて、まとめて調査する場合のサンプル。
「★」という文字がみつかったら処理を止める。
一ファイル一シートの場合を対象としている。よってCSVファイルが最適。
┌──────────────────────────────────────┐
│Sub ★検索()                                                                │
│    Dim strPath As String, strFile As String                                │
│    Dim cellFind As Range                                                   │
│    Application.ScreenUpdating = False  '処理中非表示                       │
│    ' ───────────────────────────────────│
│    ' パス入力                                                              │
│    strPath = Application.InputBox( _                                       │
│                Prompt:="パス名を入力してください", _                       │
│                Title:="パス名入力")                                        │
│    If strPath = "False" Or strPath = "" Then                               │
│        MsgBox "検索中止"                                                   │
│        Exit Sub                                                            │
│    End If                                                                  │
│    If Right$(strPath, 1) <> "\" Then                                       │
│        strPath = strPath & "\"                                             │
│    End If                                                                  │
│    ' ───────────────────────────────────│
│    ' パス配下ファイルを全て処理                                            │
│    strFile = Dir(strPath)                                                  │
│    Do While strFile <> ""                                                  │
│        'ファイルのOpen                                                     │
│        Workbooks.Open strPath & strFile                                    │
│        ' ─────────────────────────────────│
│        'ファイル毎の処理                                                   │
│        Set cellFind = Cells.Find(What:="★")                               │
│        If Not cellFind Is Nothing Then                                     │
│            cellFind.Activate                                               │
│            Application.ScreenUpdating = True                               │
│            MsgBox "該当あり"                                               │
│            Exit Sub                                                        │
│        End If                                                              │
│        ' ─────────────────────────────────│
│        'ファイルのClose                                                    │
│        Workbooks.Close                                                     │
│        ' 次のファイルへ                                                    │
│        strFile = Dir                                                       │
│    Loop                                                                    │
│    ' ───────────────────────────────────│
│    Application.ScreenUpdating = True                                       │
│    MsgBox "該当なし"                                                       │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA