![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
下記のコードでリストボックスを複数選択して
抽出する場合のやり方をおしえてくれませんでしょうか
下記のコードではうまく抽出できないのです。
添付ファイルもつけました。
お願い致します。
Private Sub CommandButton1_Click()
With ListBox1
If .ListIndex = -1 Then Exit Sub
For d = 0 To .ListCount - 1
If .Selected(d) = True Then
Range("a1").AutoFilter Field:=2, Criteria1:=.List(d)
End If
Next
End With
End Sub
![「ListBox 複数選択 で オートフィ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/9/542572098_5d6676b991c8a/M.jpg)
No.3ベストアンサー
- 回答日時:
こんな感じで。
Private Sub CommandButton1_Click()
Dim a() As String
Dim d As Long
Dim cnt As Long
With Me.ListBox1
For d = 0 To .ListCount - 1
If .Selected(d) Then
cnt = cnt + 1
ReDim Preserve a(1 To cnt)
a(cnt) = .List(d)
End If
Next
If cnt = 0 Then Exit Sub
Range("a1").AutoFilter Field:=2, Criteria1:=a(), Operator:=xlFilterValues
End With
End Sub
お時間があれば教えていただけますでしょうか。
ReDim Preserve a(1 To cnt)
a(cnt) = .List(d)
No.2
- 回答日時:
何個選択するのかでも代わるかもですけど、検索していたらこのようなものが。
https://infoyandssblog.blogspot.com/2018/12/exce …
https://it-hitorigoto.com/several-autofilters/
検証はできないですが、『選択していない項目』をFilter関数で除外していけば(ループで変数を用いて)良いのではないかなぁ~~~~~~~と。
選択していないってのは無論
If .Selected(d) = False Then
になると思います。
ループ内で
status = Filter(status, .List(d) , False)
としたら出来るんじゃないかな?(未検証ですけど)
これなら個数は気にならない気もします。(再三ですが、未検証です)
No.1
- 回答日時:
この様にしたいのかな?
Private Sub CommandButton1_Click()
Dim d As Long
Dim key1 As String, key2 As String
With ListBox1
If .ListIndex = -1 Then Exit Sub
For d = 0 To .ListCount - 1
If .Selected(d) = True Then
If key1 = "" Then key1 = .List(d)
If key1 <> "" Then key2 = .List(d)
End If
Next
Range("A1").AutoFilter 2, key1, xlOr, key2
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) リストボックスに表示されたファイルを削除したい 1 2023/04/19 12:02
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) エクセル VBAで複数セル選択時エラーになる問題 3 2022/10/04 02:40
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
-
ListBoxでオートフィルター表示
Visual Basic(VBA)
-
ユーザーフォーム内のテキストボックスからオートフィルター抽出を行う方法
Visual Basic(VBA)
-
-
4
VBA リストボックス(複数条件)で検索し、転記方法についてご教示ください。
Visual Basic(VBA)
-
5
ACCESSクエリ抽出条件について
Access(アクセス)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
アクセスのクエリ、リストボックスで複数選択をしたい
Access(アクセス)
-
8
エクセルVBAで複数選択できるように設定したリストボックスの、選択され
Visual Basic(VBA)
-
9
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
10
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
コンボボックスのリストのテーブルからの直接取得の方法
Visual Basic(VBA)
-
13
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
14
VBAのListBoxで複数選択してExcelの1つのセルに反映
Visual Basic(VBA)
-
15
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
16
UserForm1.Showでエラーになります。
工学
-
17
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
18
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
19
エクセルVBA 複数列のリストボックス内を検索して値を複数列表示したい
Excel(エクセル)
-
20
VBA リストボックス複数選択からセルへの反映についての質問です。 リストボックス1では1つ選択 リ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループを回すという意味は何で...
-
アセンブラによるウェイト(WAIT...
-
【VBA】全て空白のセルの列の非...
-
DoEventsが必要な理由について
-
ループ内での条件処理
-
VBA for i=1 to lastrow
-
一巡伝達関数と開ループ伝達関数
-
UWSCに制限時間を付けたいです
-
Java 南京錠
-
範囲指定したセルを1つずつ飛...
-
素数であるかどうかを判定する...
-
テキストボックスの名前に変数...
-
VBAでの一時停止と再開の方法
-
ループフリー
-
チェックデジットについて
-
組み合わせについての質問です...
-
Excel VBA ユーザーフォームの...
-
perlで配列名を動的に作り出したい
-
JSを使ったタブの別ページから...
-
乱数と順列と組み合わせ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
UWSCの終了の仕方
-
DoEventsが必要な理由について
-
VBAで3秒だけ時間を止めたい
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
DOSコマンドのループ内のTIMEコ...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
GIFアニメをループさせたくない
-
プログラミングについて。 1つ...
-
エクセルの当番表を作っていま...
-
テキストボックスの名前に変数...
-
ループフリー
-
vb.netからエクセル関数書き込み
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
どなたかこのプログラミングを...
-
Do whileでExitせず、ループの...
おすすめ情報