リストボックスで選択された値を取得する
 全シート名を取得して、リストボックスに表示する項目に設定します。
そのリストボックスで選択された値(シート名)を取得します。

 まず、リストボックスとコマンドボタンを配置したフォームを
 用意します。
  リストボックスには「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プロパティを使って、選択されているかどうかを判断して、
 選択されていたらメッセージボックスにその内容を表示します。
  このメッセージボックスを表示する部分を、印刷処理や削除処理に
 するなどして応用することができます。 


Excel97



戻る


Excel Word Access VBA! モーグ