電子書籍の厳選無料作品が豊富!

さくじつ、教えていただきましたコードを
リストボックス追加して
商品名と売上月でやろうと思いました。が

Range("a1").AutoFilter Field:=2, Criteria1:=a(), Operator:=xlAnd, _
Field:=4, Criteria2:=b()
がまちがっいるのか どこがちがっているのか
おしえてくれませんでしょうか



Dim a() As String
Dim b() As String
Dim d As Long
Dim cnt, cnt1 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
End With

With Me.ListBox2
For d = 0 To .ListCount - 1
If .Selected(d) Then
cnt1 = cnt1 + 1
ReDim Preserve b(1 To cnt1)
b(cnt1) = .List(d)
End If
Next
If cnt = 0 Then Exit Sub
End With



Range("a1").AutoFilter Field:=2, Criteria1:=a(), Operator:=xlAnd, _
Field:=4, Criteria2:=b()

「ListBox1 ListBox2 条件」の質問画像

質問者からの補足コメント

  • どう思う?

    Range("a1").AutoFilter Field:=2, Criteria1:=a(), Operator:=xlAnd, _
    Field:=4, Criteria2:=b() 早速ありがとうございます
    この部分が黄色反転しているのでここに問題があるのではないかと思うんです。
    画像添付しようしていましたが、うまくいきませんです。

      補足日時:2019/08/30 21:45

A 回答 (5件)

No.2です。



お礼の文から判断してこの質問は終わりなのでしょうかね。

やりたい事が複雑って点が回答者には伝わってませんので勝手な考えですけど、
https://qiita.com/naoki_mochizuki/items/3fda1ad6 …
SQL文の内部結合で試せるのか否かって所ではないかなと思いますよ。(憶測に過ぎませんけど)

データベースSheetと抽出条件を代入したSheetから、抽出して書き出したSheetと分けて考えればいけるのでは?
抽出条件についてはユーザーフォームの複数?のリストからフィールド名(でリストを分けてる?)値をセルに書き出せば良いでしょう(と思う)。
    • good
    • 0
この回答へのお礼

いつも大変お世話になっております。
実は
変更前
.AutoFilter Field:=2, Criteria1:=a(), Operator:=xlFilterValues
.AutoFilter Field:=4, Criteria2:=b(), Operator:=xlFilterValues

変更後
.AutoFilter Field:=2, Criteria1:=a(), Operator:=xlFilterValues
.AutoFilter Field:=4, Criteria1:=b(), Operator:=xlFilterValues
サイトを検索したら偶然発見しました。
Criteria2:=b()からCriteria1:=b()です。
ヒント頂戴いただき有難うこざいました。

お礼日時:2019/09/04 07:40

No.2です。



ちょっと話はそれますけど。

With Me.ListBox2
の中にある
If cnt = 0 Then Exit Sub
って
If cnt1 = 0 Then Exit Sub
だと思う。

あと言えるのは『必ず両方のリストボックスを選択する』事が条件であるのか?
仮に『片方だけ選択して、もう片方は一切選択しないケースはない』と言えるのか?

ですかね。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2019/09/01 14:10

回答らしきものがあるのに失礼します。



ListBox1つで、2つ選択の画像出して、、ダメでしょう。
初めから、ちゃんと質問しないからだよ

自分でちょっと弄ったら使えなくなる、、、
普通ぐぐるでしょう?

https://officedic.com/excel-vba-autofilter-colum …
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2019/09/01 14:09

Range("a1").AutoFilter Field:=2, Criteria1:=a(), Operator:=xlAnd, _


Field:=4, Criteria2:=b()



With Range("a1").CurrentRegion
.AutoFilter Field:=2, Criteria1:=a(), Operator:=xlFilterValues
.AutoFilter Field:=4, Criteria2:=b(), Operator:=xlFilterValues
End With

抽出したいフィールドが違うので一緒には出来ないのでは?(また、未検証ですけど)
    • good
    • 1
この回答へのお礼

ありがとうございます。
いろいろ条件が関係するので
難しことにきがつきました。
ありがとうございました。

お礼日時:2019/09/01 14:08

不具合の詳細を記載してください

    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2019/09/01 14:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!