回答受付が終了しました

vba初心者です。過去のQ&Aを拝見し近いものはあったのですが、無知な自分にどうかご教授下さい。 <内容>

Visual Basic101閲覧

回答(1件)

0

エラー処理などは実装していませんので、必要に応じて加筆してみてください。 Sub test() strIn = InputBox("検索するシート名称") ChDir (ThisWorkbook.Path) '当該フォルダのブック数分LOOP buf = Dir("*.xlsx") Do While buf <> "" hit = 0 Workbooks.Open Filename:=buf With Workbooks(buf) '開いたブックのシート数分LOOP For ii = 1 To .Worksheets.Count '指定されたシート名が存在するか If InStr(.Worksheets(ii).Name, strIn) > 0 Then hit = 1 Exit For End If Next ii Workbooks(buf).Close '指定されたシートが存在したら If hit = 1 Then 'フォルダ選択ダイアログ With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ThisWorkbook.Path .Title = "フォルダの選択" If .Show = True Then 'ブックを移動する Name ThisWorkbook.Path & "\" & buf As .SelectedItems(1) & "\" & buf End If End With End If End With buf = Dir() Loop End Sub