|
レスが付かないようなので、素人ですが回答します。
以前に、この板で教えて頂いた方法です。
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列目のドロップダウンリストのデータを選んで
>フィルタをかけたいのですが、
>データは毎回変動するので、
>ドロップダウンリストの最後のデータを指定して、
>フィルタをかけるように設定したいです。
>
>しかし、ドロップダウンリストの中身を取得する方法も
>ドロップダウンリストの件数をカウントする方法も
>調べてはみたのですが、よくわかりません。
>
>すいません、どなたかご存知の方ご教授ください。
|
|