0
の代わりにListviewにワークブック名とワークシート名を表示すると、上記のコードを使用して、Lisbox1の開いているブック名とListbox2のそれぞれのワークシートをUserフォームで表示します。しかし、Listview1とListview2を代わりに使用したいと思っています。なぜなら、ワークブック名とワークシート名のそれぞれの横に、Listview1とListview2で動作するように変更するにはどのような変更が必要かを示したいからです。WB1のListbox
Option Explicit
Private Sub UserForm_Initialize()
Dim wb As Workbook
Me.Caption = "Workbooks and Sheets Detail"
For Each wb In Application.Workbooks
ListBox1.AddItem wb.Name
Next wb
End Sub
Private Sub ListBox1_Click()
Dim sWorkbookname As String
sWorkbookname = ListBox1.List(ListBox1.ListIndex)
ListWbWorksheets sWorkbookname
End Sub
Private Sub ListWbWorksheets(ByVal psWorkbookName As String)
Dim targetWb As Excel.Workbook
Dim n As Long
Set targetWb = Application.Workbooks(psWorkbookName)
ListBox2.Clear
For n = 1 To targetWb.Sheets.Count
ListBox2.AddItem targetWb.Sheets(n).Name
Next n
Set targetWb = Nothing
End Sub