いつもお世話になっております
リストビューについての質問です。
以下のコードは添付ファイルのように
コマンドAを押すと Worksheets("A")
の
B列 C列 D列がリストビュー
に表示されます。
やりたいことは、
listbox1 に
契約済み
未契約
全部
があり
その選択したのを抽出したいのです。
わかる方教えてくれませんでしょぅか
Private Sub CommandButton3_Click()
Dim wS As Worksheet
Dim val
Set wS = Worksheets("A")
wS.Select
ListView1.ListItems.Clear
val = wS.Range("B2").CurrentRegion.Value
For i = LBound(val) To UBound(val)
With ListView1.ListItems.Add
.Text = val(i, 1)
.SubItems(1) = val(i, 2)
.SubItems(2) = val(i, 3)
End With
Next
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは
D列の条件分岐、設定と言う事でしょうか
この場合、配列 val(i,3) がそれなのかな。
D列を見ると済と空白、条件は済と空白と全部ですかね。
さて、フィルタで処理するか配列があるから、配列ループで処理するか
取り敢えず、配列の値を使ってIFでやると
条件分岐する為の値(変数)を作ってみましょう。
仮に変数 Dim strI As String として
val = wS.Range("B2").CurrentRegion.Value '既存
If ListBox1.Value = "契約済み" Then strI = "済み"
If ListBox1.Value = "未契約" Then strI = ""
If ListBox1.Value = "全部" Then strI = "*"
Select case などでもOK
次にIF文
For i = LBound(val) To UBound(val) '既存
If val(i, 3) Like strI Then
With ListView1.ListItems.Add
.Text = val(i, 1)
.SubItems(1) = val(i, 2)
.SubItems(2) = val(i, 3)
End With
End If
Next
こんなのでどうでしょう。
ちなみにLBound(val)についての扱い(B2: の行は
先に見出し行を作りLBound+1するとか工夫が必要かと思います。
未検証なので上手くいかなければ、ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Worksheets メソッドは失敗しました。のエラー処理のやり方 4 2022/05/29 21:29
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- Visual Basic(VBA) 抽出結果を別シートに貼り付ける 2 2022/07/09 22:59
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの逆読みってできますか?
-
SimpleXML関数で取得したXML要...
-
配列を回すとき、最後の要素だ...
-
foreachの値をメール本文に表示...
-
配列をループでたくさん宣言し...
-
行列
-
PHPでCSVを出力するさいに、ル...
-
While文を使って配列の中身を全...
-
ログファイルの古い日付の行を...
-
スカラーのベクトル微分
-
C言語の配列をPush(追加)する...
-
サイト名を取得するPHP
-
比較関数とSQL
-
行数が30万件ほどあるCSVから、...
-
PHPの構文で間違えが分からない
-
Pager::factory()の使い方がわ...
-
プログラミングのPythonのnoteb...
-
MySQLのデータをPHPで多次元...
-
PHP5でCSVの指定行データだけを...
-
ファイルの書き込みについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
foreachのなかで次のキーを参照...
-
String だと「 ByRef引数の型が...
-
PHPのカッコ[ ]の使い方について
-
配列を回すとき、最後の要素だ...
-
配列一致(要素順番は違うが内容...
-
チェックボックス複数選択 mys...
-
漢字のソートについて
-
postgresql関数をつかったレコ...
-
ネストが深い時のforeachはどう...
-
URLのサブドメインとドメイン部...
-
OCI で、SELECT結果行数を取得...
-
【Smarty】foreach関数やsectio...
-
$_POSTを一括してサニタイズし...
-
phpで、連想配列を普通の配列に...
-
チェックボックスが複数選択で...
-
連想配列のprint_rやvar_dump出...
-
PHP 配列の添字に変数は使えない?
おすすめ情報