Excel の印刷範囲を取得するために、以下のコードを記述しました。
VBA
1 Dim rangeS As String 2 rangeS = ActiveSheet.PageSetup.PrintArea ''印刷範囲を取得 3 4 Dim c As Range 5 For Each c In Range(rangeS).Cells
ほとんどの場合、印刷範囲を文字列として取得できるのですが、
たまに、印刷範囲を設定しているように見えるにも関わらず
長さ0の文字列を取得してしまうことがあります。
印刷範囲を設定し直すと、このような問題が起きず、
印刷範囲を取得できるようになります。
Q1.なぜこのようなことが起きるのでしょうか?
Q2.解決するにはどうすれば良いでしょうか?
宜しくお願いします。
※追記
必ずしも
改ページビューで青色で囲まれている範囲 = 印刷範囲(PageSetup.PrintArea)
とはならないことがわかりました。
印刷範囲(PageSetup.PrintArea)が設定されるのは、以下の条件のようです(たぶん)。
a)ページレイアウト -> 印刷範囲 -> 「印刷範囲の設定」をした場合
b)改ページビューで青色の線を変更したとき
「改ページビューで青色で囲まれている範囲」を取得する方法を
ご存じの方がいれば、教えてください。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/17 09:14
2018/01/17 09:45 編集