[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数選択したリストボックスをセルに表示』(天丼)
おはようございます。
ユーザーフォームにリストボックスを設置、選択内容を転記しようと思っていますがなかなかできません。
ご教授お願いします。
・複数列のセルを参照してリストボックスに表示(別シート"リスト"A列B列)
・リストボックスは複数選択
・最終行を取得して、選択した内容をセルに転記(row_Last)
【ListBox2の表示コード】
Private Sub UserForm_Initialize()
Dim lastrow As Long
lastrow = Sheets("リスト").Cells(Rows.Count, 1).End(xlUp).Row
With ListBox2
.ColumnHeads = True
.ColumnCount = 2
.ColumnWidths = "50;30"
.RowSource = "リスト!" & Range("A2", "B" & lastrow).Address
End With
End Sub
【セルに反映コード】
※コードの途中から記述しています。
Dim i As Integer
Dim Clm As Integer
Clm = 7 'Hの列から記述
'セルへ転記
With ListBox2
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) Then
Clm = Clm + 1
Cells(row_Last, Clm) = ListBox2.List(i)
End If
Next i
End With
上記のコードでは、リストボックスに複数表示設定していますが、
セルに転記されるのは
"リスト!" & Range("A2")のAの列のみになってしまいます。
H1、I1、J1、K1、L1…とセルを別々に表示させていきたいので、
どこが動作をおかしくさせているのか教えて下さい。
以上、宜しくお願いします。
< 使用 Excel:Office365、使用 OS:unknown >
>H1、I1、J1、K1、L1…とセルを別々に表示させていきたい
⇒なんと表示させたいのか、リスト内容と共に提示してください。
(tkit) 2021/11/26(金) 10:00
Dim i As Long For i = 0 To ListBox2.ColumnCount - 1 Activecell.Offset(,i).Value = ListBox2.List(ListBox2.ListIndex, i) Next
もしかしてこういうものでしょうか。
(きまぐれおじさん) 2021/11/26(金) 10:04
>>H1、I1、J1、K1、L1…とセルを別々に表示させていきたい
Dim i As Long Dim Clm As Long Dim row_Last As Long
Clm = 8 'Hの列から記述 With Me.ListBox2 For i = 0 To ListBox2.ListCount - 1 If ListBox2.Selected(i) Then row_Last = Cells(Rows.Count, Clm).End(xlUp).Row + 1 Cells(row_Last, Clm) = .List(i, 0) Cells(row_Last, Clm + 1) = .List(i, 1) Clm = Clm + 2 End If Next i End With
(ピンク) 2021/11/26(金) 10:14
>H1、I1、J1、K1、L1…とセルを別々に表示させていきたい A列のデータのみH1、I1、J1、K1、L1…と転記するなら
Clm = 8 'Hの列から記述 With Me.ListBox2 For i = 0 To ListBox2.ListCount - 1 If ListBox2.Selected(i) Then row_Last = Cells(Rows.Count, Clm).End(xlUp).Row + 1 Cells(row_Last, Clm) = .List(i, 0) Clm = Clm + 1 End If Next i End With
(ピンク) 2021/11/26(金) 10:17
コメント内容を参考に思い通りのものができました!!
ありがとうございます!!
(天丼) 2021/11/26(金) 13:50
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.