-ChatGPT-4に「VBAででダイアログボックスで選択したファイルを開き、シートを選択するのにインプットボックスで入力した名前が部分一致した場合、そのシートを設定してください。」と頼んだら

-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
タイトルとURLをコピーしました