全シート名を取得して、リストボックスに表示する項目に設定します。
そのリストボックスで選択された値(シート名)を取得します。
まず、リストボックスとコマンドボタンを配置したフォームを
用意します。
リストボックスには「ListBox1」、コマンドボタンには
「CommandButton1」という名前をつけます。
リストボックスのリストに全シート名を設定するには、フォームが
開かれる時に発生するイベント「UserForm_Initialize」で、次のよう
に処理します。
Private Sub UserForm_Initialize()
Dim a As Worksheet
ListBox1.MultiSelect = 1
For Each a In Sheets
ListBox1.AddItem a.Name
Next
End Sub
MultiSelectプロパティで、リストの項目を複数選択できるように
設定して、For Eachステートメントを使って、シート名をリストに
追加しています。
指定されたシートを取得するには、コマンドボタンがクリックされた時
に発生するイベント「CommandButton1_Click」で、次のように処理します。
Private Sub CommandButton1_Click()
Dim i As Integer
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
MsgBox .List(i)
End If
Next i
End With
End Sub
Selectedプロパティを使って、選択されているかどうかを判断して、
選択されていたらメッセージボックスにその内容を表示します。
このメッセージボックスを表示する部分を、印刷処理や削除処理に
するなどして応用することができます。
|