Rikuo2000
@Rikuo2000 (Rikuo Tsuchida)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

他のエクセルファイルシートを参照する方法

Q&A

Closed

解決したいこと

ExcelでVBAを作成しているのですが。そこで指定したExcelファイルにあるすべてのシートを参照してリストボックスに表示させたいのですが、方法がわかりません。どなたかご教授いただけると幸いです

該当するソースコード

.MultiSelect = fmMultiSelectSingle

.ListStyle = fmListStyleOption

For j = 1 To SheetsCount
    MyList(j) = Sheets(j).Name
    Next j

For i = 1 To UBound(MyList)
    .AddItem MyList(i)
Next i

ラジオボタン式で選択したものを自動的にセルに表示させるプログラムを現状組んでいて。マクロがあるbookのシートしか参照できないのが現状です

0

2Answer

マクロがあるExcelファイル以外のシートを参照するためには、ブック(Excelファイルのこと)から指定する必要があります。下記のマクロは、現在開いているすべてのブックのすべてのシートの名前をprintします。参考になりますか?

Sub printAllBooksAllSheets()
    Dim wb As Workbook
    Dim sh As Worksheet
    For Each wb In Application.Workbooks
        Debug.Print "Workbook: " & wb.Name
        For Each sh In wb.Worksheets
            Debug.Print vbTab & "Worksheet: " & sh.Name
        Next
    Next
End Sub
1Like

Comments

  1. 
    with Application.Workbooks(番号 or ブック名)   '←ここにworkbookを指定する
        For j = 1 To .Sheets.Count
            MyList(j) = .Sheets(j).Name
        Next j
    end with
    
    

    もし、開いていないExcelなら、参照する前にApplication.Workbooks.Open("ファイルパス名")で開いておく必要があります。

Your answer might help someone💌