Excel VBA 質問スレッド No.12 (未解決)

「AutoFilter メソッド」で抽出行数を取得するVBAマクロ

投稿者 : 森下 健七郎     投稿日時 : 2016/09/22(Thu) 09:54:46     OS : Windows 10     EXCEL : Excel 2010
「AutoFilter メソッド」の使い方の基本やサンプルプログラムを拝見させて戴き参考になりました。ありがとうございます。

 さて、小生が、今、「ExcelVBAマクロ」実現したい事が有りますが、中々、上手く実現出来なくて困っています。質問させて戴きます。
 一言で言うと、
「AutoFilter メソッド」を使用して、複数列の抽出条件下で行った場合、
「Excel2010」の画面の下のステータスバー(ですか?)に表示される
「コマンド(モード)***レコード中、[***]個見つかりました。」の
[***]の***の数字(=抽出行数)を取得する「ExcelVBAマクロ」コードを、実現したいのですが、
ご教示戴けると助かります。
 最終的には、色々な抽出条件に於いて、取得した***数字(=抽出行数)の表を別シート上に作成したいのです。

[返信 1] Re : 「AutoFilter メソッド」で抽出行数を取得するVBAマクロ
投稿者 : 管理人     投稿日時 : 2016/09/24(Sat) 15:39:50
AutoFilter を設定した後の表示されている行をカウントしたいということでしょうか?
それであれば、ワークシート関数のSubtotalを使うのが簡単だと思います。

SubtotalはAutoFilter設定後のさまざまな集計が可能です。
その集計の種別を第一引数に指定します。
今回は単純に表示行のカウントですので、"2"を指定しました。
第二引数には表の範囲を表すレンジオブジェクトを設定します。

Sub sample()

Dim rowcnt As Integer
' 第一引数の2は表示行のカウントを意味します。
rowcnt = WorksheetFunction.Subtotal(2, Range("A2:J10"))
MsgBox "表示行 = " & rowcnt

End Sub



■[質問] 森下 健七郎さん(2016-09-22 09:54:46)の記事
> 「AutoFilter メソッド」の使い方の基本やサンプルプログラムを拝見させて戴き参考になりました。ありがとうございます。

>  さて、小生が、今、「ExcelVBAマクロ」実現したい事が有りますが、中々、上手く実現出来なくて困っています。質問させて戴きます。
>  一言で言うと、
> 「AutoFilter メソッド」を使用して、複数列の抽出条件下で行った場合、
> 「Excel2010」の画面の下のステータスバー(ですか?)に表示される
> 「コマンド(モード)***レコード中、[***]個見つかりました。」の
> [***]の***の数字(=抽出行数)を取得する「ExcelVBAマクロ」コードを、実現したいのですが、
> ご教示戴けると助かります。
>  最終的には、色々な抽出条件に於いて、取得した***数字(=抽出行数)の表を別シート上に作成したいのです。

スポンサード リンク
 
 
当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2019-06-17 03:55:51 )

Page
Top