Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


417 / 13645 ツリー ←次へ | 前へ→

【80457】EXCEL2010 VBA オートフィルタ りょうた 19/2/16(土) 21:51 質問[未読]
【80458】Re:EXCEL2010 VBA オートフィルタ マナ 19/2/16(土) 22:13 発言[未読]
【80460】Re:EXCEL2010 VBA オートフィルタ りょうた 19/2/16(土) 22:42 発言[未読]
【80462】Re:EXCEL2010 VBA オートフィルタ マナ 19/2/16(土) 23:17 発言[未読]
【80465】Re:EXCEL2010 VBA オートフィルタ りょうた 19/2/17(日) 4:56 発言[未読]
【80471】Re:EXCEL2010 VBA オートフィルタ マナ 19/2/17(日) 10:39 発言[未読]
【80478】Re:EXCEL2010 VBA オートフィルタ ピンク 19/2/17(日) 19:31 回答[未読]
【80481】Re:EXCEL2010 VBA オートフィルタ りょうた 19/2/17(日) 21:38 発言[未読]
【80482】Re:EXCEL2010 VBA オートフィルタ マナ 19/2/17(日) 21:50 発言[未読]
【80483】Re:EXCEL2010 VBA オートフィルタ りょうた 19/2/18(月) 5:49 お礼[未読]

【80457】EXCEL2010 VBA オートフィルタ
質問  りょうた  - 19/2/16(土) 21:51 -

引用なし
パスワード
   Sub macro1()

Dim MaxDay As Long
Dim MinDay As Long

Dim LastRow As Long
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
MaxDay = WorksheetFunction.Max(Range("C:C"))
MinDay = WorksheetFunction.Min(Range("C:C"))

With ActiveSheet.Range("$A$1:$AW" & LastRow)

'※1
.AutoFilter Field:=3, Criteria1:=MaxDay
.AutoFilter Field:=43, Criteria1:="ABC"

'※2
.AutoFilter Field:=3
.AutoFilter Field:=43, Criteria1:="AEWQ"


End With

End Sub

AからAWまでのデータがあります

C列に、年月日(YYYYMMDD形式)の文字があります
AQ列に、商品名があります

オートフィルタを2度実行して、シートに2度実行した結果を
表示したく思います

上記のコードで、オートフィルタを2度実施して、
シートに結果を表示しようとしているのですが
※1、※2共にデータがあるにも関わらず※2だけ表示されます

※1だけのコードなら、※1のデータが表示され、
※2だけのコードなら、※2のデータが表示されます

※1と※2のデータをシートに一度で表示するには
どのようにしたらよいでしょうか?

ご教示ください

【80458】Re:EXCEL2010 VBA オートフィルタ
発言  マナ  - 19/2/16(土) 22:13 -

引用なし
パスワード
   ▼りょうた さん:


>※1と※2のデータをシートに一度で表示するには
>どのようにしたらよいでしょうか?

最終的に表示したい条件を日本語で説明できますか

【80460】Re:EXCEL2010 VBA オートフィルタ
発言  りょうた  - 19/2/16(土) 22:42 -

引用なし
パスワード
   マナ様

失礼しました

ありがとうございます

オートフィルタを2度行います

1つ目はC列の年月日が大きくて、AQ列のABCを選択してデータを表示

2つ目はC列の年月日とAQ列のAEWQを選択してデータを表示

したいと思っています

C列ですが、年月日の大きいものと小さいものの2種類があります
例えば、20190215と20190217 がありましたら
1つ目のオートフィルタのC列の年月日は20190217になります
(大きいものだけを選択)

2つ目のオートフィルタのC列の年月日は20190217と20190215になります
(大きいものと小さいものを選択)

【80462】Re:EXCEL2010 VBA オートフィルタ
発言  マナ  - 19/2/16(土) 23:17 -

引用なし
パスワード
   ▼りょうた さん:

>C列ですが、年月日の大きいものと小さいものの2種類があります
>例えば、20190215と20190217 がありましたら
>1つ目のオートフィルタのC列の年月日は20190217になります
>(大きいものだけを選択)
>
>2つ目のオートフィルタのC列の年月日は20190217と20190215になります
>(大きいものと小さいものを選択)

そこまでは理解しています。
2回のオートフィルタの結果を一度で表示したいのですよね。

1つ目または2つ目の条件で抽出ということでしょうか。
そうであれば、オートフィルタではなく
フィルタオプションを使うとよいです。


  

【80465】Re:EXCEL2010 VBA オートフィルタ
発言  りょうた  - 19/2/17(日) 4:56 -

引用なし
パスワード
   マナ様

ありがとうございます

1つ目と2つ目の条件で、抽出したいです
2回のオートフィルタの結果を一度で表示したいです

【80471】Re:EXCEL2010 VBA オートフィルタ
発言  マナ  - 19/2/17(日) 10:39 -

引用なし
パスワード
   ▼りょうた さん:

ですから、フィルタオプションを使用するとよいです。
オートフィルタの高機能版です。

手作業で実行できますので試してみてください。
ネット検索で、操作方法を説明したものが簡単にみつかります。

実行できたら、それをマクロ記録するとコードが得られますので
それを修正して仕上げることになります。

【80478】Re:EXCEL2010 VBA オートフィルタ
回答  ピンク  - 19/2/17(日) 19:31 -

引用なし
パスワード
   >※1と※2のデータをシートに一度で表示するには
>どのようにしたらよいでしょうか?

With ActiveSheet.Range("$A$1:$AW" & LastRow)
  .AutoFilter Field:=3, Criteria1:=MaxDay, Operator:=xlOr, Criteria2:=MinDay
  .AutoFilter Field:=43, Criteria1:="ABC", Operator:=xlOr, Criteria2:="AEWQ"
End With

【80481】Re:EXCEL2010 VBA オートフィルタ
発言  りょうた  - 19/2/17(日) 21:38 -

引用なし
パスワード
   ピンク様

ありがとうございます


1つ目はC列の年月日が大きくて、
AQ列のABCを選択してデータを表示

2つ目はC列の年月日とAQ列のAEWQを選択して
データを表示

したいのですが
ABCはmaxdayだけが、対象になり
AEWQはmindayとmaxdayが、対象になるのですか?

【80482】Re:EXCEL2010 VBA オートフィルタ
発言  マナ  - 19/2/17(日) 21:50 -

引用なし
パスワード
   ▼りょうた さん:

手作業で抽出できないものは、マクロでもできません。
オートフィルタでなく、
フィルタオプションを使用してください。
(これで3回めです)

【80483】Re:EXCEL2010 VBA オートフィルタ
お礼  りょうた  - 19/2/18(月) 5:49 -

引用なし
パスワード
   ありがとうございました

417 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free