none
タイトル行のみフィルタ設定したファイルへ出力した後のフィルタ設定について RRS feed

  • 質問

  • 1行目だけタイトルを入力してフィルタを設定したテンプレートファイルに、VBAなどでプログラミングした実行ファイルを実行してデータを出力した際に、フィルタ条件として列内の全てのデータが選択できるのかご存じであれば教えてください。(プログラム内にフィルタ設定に関する処理の記載はない前提)

    1行目だけタイトルを入力してフィルタを設定したテンプレートファイルにデータを手入力すると、②や③のケースでもB4セルやC4セルのデータがフィルタ条件に表示されますので、タイトル行のみフィルタを設定したファイルに後からデータを追加しても、空白行が含まれない限りは列内の全てのデータがフィルタ条件に表示されると思っていますが、実行ファイルを実行してデータ出力した際も同じ状態になるのか、根拠が見つけられませんでしたので質問として挙げました。

    <テンプレートファイルのフォーマット>
                A列             B列             C列
    1行目    タイトル1    タイトル2    タイトル3

    <ケース①:タイトル1のデータ件数が最大の場合>

                A列             B列             C列
    1行目    タイトル1    タイトル2    タイトル3
    2行目    1                1                1
    3行目    2                2     
    4行目    3

    <ケース②:タイトル2のデータ件数が最大の場合>
                A列             B列             C列
    1行目    タイトル1    タイトル2    タイトル3
    2行目    1                1                1
    3行目                      2                2
    4行目                      3

    <ケース③:タイトル3のデータ件数が最大の場合>
                A列             B列             C列
    1行目    タイトル1    タイトル2    タイトル3
    2行目    1                1                1
    3行目                      2                2
    4行目                                        3

    2021年3月13日 16:17

すべての返信

  • K_Himajinさん、こんにちは。

    手入力もVBAによる記入も同じじゃないかと思うものの、ネットをざっと検索した限りでは、根拠記事を見つけることはできませんでした。

    ただ、VBAでデータを記入した後で、次の様なコマンドでチェックすることはできるかと思われますので、ご参考になれば幸いです。
    If VBAによるデータを記入した最下行の行番号=ActiveSheet.AutoFilter.Range.Row + ActiveSheet.AutoFilter.Range.Rows.count - 1  Then
      MsgBox "オートフィルタの有効範囲内です。"
    Else 
     MsgBox "オートフィルタの有効範囲内ではありません。"
    End If

    2021年3月14日 8:50
  • 回答して頂き、ありがとうございます。

    内容に記載頂いた処理は参考にさせて頂きます。
    2021年3月15日 2:49