-ChatGPT-
-ChatGPT-4の回答
Sub SelectWorksheetByPartialName()
Dim SourceWorkbook As Workbook
Dim FileDialog As FileDialog
Dim FilePath As String
Dim SheetNamePartial As String
Dim FoundSheet As Worksheet
' ダイアログボックスを開いてファイルを選択
Set FileDialog = Application.FileDialog(msoFileDialogFilePicker)
FileDialog.AllowMultiSelect = False
FileDialog.Title = "ファイルを選択してください"
If FileDialog.Show = -1 Then
FilePath = FileDialog.SelectedItems(1)
Else
Exit Sub
End If
' 選択されたファイルを開く
Set SourceWorkbook = Workbooks.Open(FilePath)
' シート名の一部をインプットボックスで入力する
SheetNamePartial = InputBox("シート名の一部を入力してください:")
' 部分一致するシートを探す
For Each ws In SourceWorkbook.Worksheets
If InStr(1, ws.Name, SheetNamePartial) > 0 Then
Set FoundSheet = ws
Exit For
End If
Next ws
' 部分一致するシートが見つかった場合、選択する
If Not FoundSheet Is Nothing Then
FoundSheet.Select
MsgBox "シートが選択されました: " & FoundSheet.Name
Else
MsgBox "一致するシートが見つかりませんでした。"
End If
End Sub

