|
>リストボックスに表示されたリストを複数選択可能なようにして、
>複数選択した場合の値を、シート1のセル範囲(A1:B5)に表示させたいのです。
シート1のセル範囲(A1:B5)にどう言う形で出力したいのか?
CommandButton1を押す事によって、A1、A2、A3・・B1、B2・・と出力されます
Private Sub CommandButton1_Click()
'最大出力行数を設定
Const clngMaxRows As Long = 5
Dim i As Long
Dim j As Long
Dim lngColumns As Long
'書き込む先頭セル位置を指定
With Worksheets("Sheet1").Cells(1, "A")
'書き込んで有る列数を取得
lngColumns = .Offset(, Columns.Count _
- .Column).End(xlToLeft).Column - .Column + 1
'範囲をクリア
.Resize(clngMaxRows, lngColumns).ClearContents
'List全てに就いて繰り返し
For i = 0 To ListBox1.ListCount - 1
'選択されているなら
If ListBox1.Selected(i) = True Then
'値を出力
.Offset(j Mod clngMaxRows, _
j \ clngMaxRows).Value = ListBox1.List(i, 0)
'書き込み位置を更新
j = j + 1
'選択を解除
ListBox1.Selected(i) = False
End If
Next i
End With
End Sub
|
|