[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 複数列のリストボックスの件数を取得する。』(フォーキー)
お世話になります。
ワークシートのA列に数値が入っており、条件に一致すればB列の値をリストボックスの1列目に、C列を2列目に、D列を3列目に転記するマクロを作成しました。
条件に一致してもC列、D列は空欄の場合もあります。
Private Sub UserForm_Initialize() Dim i As Long Dim Last As Long Dim c As Long
Last = Cells(Rows.Count, 1).End(xlUp).Row
With Me
.ListBox1.ColumnCount = 3 .ListBox1.ColumnWidths = "20;20;20"
For i = 2 To Last If Cells(i, 1).Value > 2 And Cells(i, 2).Value <> "" Then c = .ListBox1.ListCount .ListBox1.AddItem "" .ListBox1.List(c, 0) = Cells(i, 2).Value .ListBox1.List(c, 1) = Cells(i, 3).Value .ListBox1.List(c, 2) = Cells(i, 4).Value End If Next End With End Sub
本題ですが、複数列のリストボックスにて、1列目は何件、2列目は何件……、または全部の合計を出す方法がわかりません。
ご教授お願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
>1列目は何件、2列目は何件…
1列目と2列目が違うと言うことは、空白は数えないと言うことなんですね。
地道にカウントする案
Private Sub UserForm_Initialize() Dim i As Long Dim Last As Long Dim c As Long Dim BCD(2) As Long ’カウント用
Last = Cells(Rows.Count, 1).End(xlUp).Row With Me .ListBox1.ColumnCount = 3 .ListBox1.ColumnWidths = "20;20;20" For i = 2 To Last If Cells(i, 1).Value > 2 And Cells(i, 2).Value <> "" Then c = .ListBox1.ListCount .ListBox1.AddItem "" .ListBox1.List(c, 0) = Cells(i, 2).Value .ListBox1.List(c, 1) = Cells(i, 3).Value .ListBox1.List(c, 2) = Cells(i, 4).Value
BCD(0) = BCD(0) + 1 BCD(1) = BCD(1) + IIf(IsEmpty(Cells(i, 3).Value), 0, 1) BCD(2) = BCD(2) + IIf(IsEmpty(Cells(i, 4).Value), 0, 1)
End If Next End With
Debug.Print BCD(0), BCD(1), BCD(2) End Sub
(半平太) 2020/06/30(火) 12:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.