Excel VBA質問箱 IV

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

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


13613 / 13644 ツリー ←次へ | 前へ→

【4528】オートフィルタのリストを取得したい ラスカル 03/3/25(火) 17:23 質問
【4556】レスがつかないようなので素人ですが・・ 猫おじさん 03/3/26(水) 17:11 回答
【4605】Re:レスがつかないようなので素人ですが・・ ラスカル 03/3/28(金) 11:51 お礼

【4528】オートフィルタのリストを取得したい
質問  ラスカル  - 03/3/25(火) 17:23 -

引用なし
パスワード
   はじめまして。早速質問させてください。

オートフィルタを設定した後で
1列目のドロップダウンリストのデータを選んで
フィルタをかけたいのですが、
データは毎回変動するので、
ドロップダウンリストの最後のデータを指定して、
フィルタをかけるように設定したいです。

しかし、ドロップダウンリストの中身を取得する方法も
ドロップダウンリストの件数をカウントする方法も
調べてはみたのですが、よくわかりません。

すいません、どなたかご存知の方ご教授ください。

【4556】レスがつかないようなので素人ですが・・
回答  猫おじさん  - 03/3/26(水) 17:11 -

引用なし
パスワード
    レスが付かないようなので、素人ですが回答します。
 以前に、この板で教えて頂いた方法です。

 1行目がタイトル、A2からデータAnまでデータが記入されています。
 その、リストをD1からタイトル付きで書き出します。
 データ数のカウントも、もっとスマートな方法があるかと思いますが、
私の実力ではこの程度です。

Sub Macro1()

'以下を実行すると、Sheet1のA列にあるデータのリストをC1から書き出します。

データの最終行 = Range("A65536").End(xlUp).Row
 
Range("A1").Select
  Set リスト = Range("D1") '集計を記入するセル(列)
  Range(Cells(1, 1), Cells(データの最終行, 1)).AdvancedFilter xlFilterCopy, , リスト, True

リストの最終行 = Range("D65536").End(xlUp).Row
MsgBox リストの最終行 - 1

'
’以下ヘルプのコピーで申し訳ありません
'AdvancedFilter メソッド
'検索条件範囲に基づいて、リストにフィルタをかけます。抽出結果は、選択範囲内に表示するか、
'他の範囲にデータをコピーするかを選択できます。選択された範囲が単一のセルのときは、
'そのアクティブ セル領域が使われます。

'構文
'expression.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)

'expression  必ず指定します。対象となる Range オブジェクトを表すオブジェクト式を指定します。

'Action  必ず指定します。長整数型 (Long) の値を使用します。抽出結果の表示を指定します。使用できる定数は、
'XlFilterAction クラスの xlFilterInPlace または xlFilterCopy です。

'CriteriaRange  省略可能です。バリアント型 (Variant) の値を使用します。検索条件範囲を指定します。
'省略すると、検索条件なしで抽出されます。

'CopyToRange  省略可能です。バリアント型 (Variant) の値を使用します。
'引数 Action を xlFilterCopy に設定したときは、抽出された行のコピー先のセル範囲を指定します。
'他を設定したときは、この引数は無視されます。

'Unique  省略可能です。バリアント型 (Variant) の値を使用します。
'True に設定すると、検索条件に一致するレコードのうち、重複するレコードは無視されます。False に設定すると、
'重複するレコードも含めて、検索条件に一致するレコードがすべて抽出されます。既定値は False です。
 

End Sub


▼ラスカル さん:
>はじめまして。早速質問させてください。
>
>オートフィルタを設定した後で
>1列目のドロップダウンリストのデータを選んで
>フィルタをかけたいのですが、
>データは毎回変動するので、
>ドロップダウンリストの最後のデータを指定して、
>フィルタをかけるように設定したいです。
>
>しかし、ドロップダウンリストの中身を取得する方法も
>ドロップダウンリストの件数をカウントする方法も
>調べてはみたのですが、よくわかりません。
>
>すいません、どなたかご存知の方ご教授ください。

【4605】Re:レスがつかないようなので素人ですが・...
お礼  ラスカル  - 03/3/28(金) 11:51 -

引用なし
パスワード
   お返事が遅くなり申し訳ございません。
全然回答がなくて、諦めてたんで・・・。
猫おじさん殿、ありがとうございました。

ツールバーの「データ」の「フィルタオプションの設定」と
同じやり方ですね。
やってみたところ、うまくいきました。

ありがとうございました!

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