[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『名前の定義による印刷範囲の指定』(いち)
名前の定義で次のような印刷範囲を指定しています。
=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.