[[20210707162346]] 『名前の定義による印刷範囲の指定』(いち) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『名前の定義による印刷範囲の指定』(いち)

名前の定義で次のような印刷範囲を指定しています。
=OFFSET($A$1,0,0,COUNTA($A:$A)+2,13)

フィルターで条件を抽出してしまうと+2の部分が反映されず、A列の最終行までが印刷範囲となってしまいます。

先日までは特に問題なくA列の最終行+2で印刷範囲が設定されていたのですが、
どこかの設定を変えてしまったのか、いかなくなってしまいました。

余白等を変更するのではなく、どうしても最終データのプラス2行で印刷範囲を設定したいです。

ご教授頂けないでしょうか。

宜しくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 フィルターの適用範囲が「最終行+2」の部分にまで及んでしまってるんではないですか?
 印刷範囲はちゃんと「最終行+2」なんだけど、
 フィルタで最後の2行が非表示になっちゃってるとか。

(白茶) 2021/07/07(水) 16:49


 お返事まだの段階で先走ってますけど、一応考察追記しときます。^^;

    Sub Prepare()
        Rows.Delete
        [A1:B1].Value = [{"A","B"}]
        [A1:B1].AutoFilter
    End Sub
    Sub RecAdd()
        With ActiveSheet.AutoFilter.Range
            .Rows(.Rows.Count + 1).Value = .Rows.Count
        End With
        Debug.Print ActiveSheet.AutoFilter.Range.Address(False, False)
    End Sub
    Sub RecDel()
        With ActiveSheet.AutoFilter.Range
            If .Rows.Count > 1 Then .Rows(.Rows.Count).Delete
        End With
        Debug.Print ActiveSheet.AutoFilter.Range.Address(False, False)
    End Sub
    Sub FilterOnOff()
        ActiveSheet.AutoFilter.Range.AutoFilter 1, 1
        ActiveSheet.AutoFilter.ShowAllData
    End Sub

 オートフィルタ適用範囲の直下にデータが追加(RecAdd)されると、適用範囲は自動的に拡張される。
 同様に行を削除(RecDel)すると、適用範囲は縮む。

 でも
 1回でもフィルタによる絞り込み(FilterOnOff)を行うと、その時点の適用範囲が縮む下限となり、
 以降、引き続きRecAddによる拡張はされるものの
 RecDelによって縮むのは、絞り込み以降に増加した範囲までで、
 絞り込み以前から存在する範囲は縮んでいかない。

 こうなってしまうと、
 データを消し去るか、オートフィルタを設定し直さないとリセットされない。

 〜〜〜 以上は私的な備忘メモです 〜〜〜

 「最終データプラス2行」部分に誤ってデータを書き込んでしまい、
 それと気付かずにフィルタ操作を行った後に、プラス2行部分のデータを消したとしても、
 オートフィルタの適用範囲はプラス2行部分を含んだままになります。

 この状態で絞り込みを行うと、プラス2行部分も絞り込みの対象になりますから、
 絞り込み条件に合わなければプラス2行部分は隠れてしまいます。
 (実際隠れているかどうかは行番号で確認可能)

 つまり、
 > 先日までは特に問題なくA列の最終行+2で印刷範囲が設定されていたのですが、
 > どこかの設定を変えてしまったのか、いかなくなってしまいました。
 印刷範囲については、いかなくなったんじゃなくて
 いってるんだけど隠れてる状態なのではないかと考えてます。

 (そうじゃなかった場合は、上記はキレイに忘れてください^^;)

(白茶) 2021/07/07(水) 18:51


白茶様

ご回答ありがとうございます。

>「最終データプラス2行」部分に誤ってデータを書き込んでしまい、
> それと気付かずにフィルタ操作を行った後に、プラス2行部分のデータを消したとしても、
> オートフィルタの適用範囲はプラス2行部分を含んだままになります。

まさにこの通りでした。

プラス2行以下を一旦全部の行削除を行ったら、問題なく範囲設定できました。

とても助かりました!!!

ありがとうございます。

(いち) 2021/07/08(木) 10:11


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.