Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBA のこと07...マクロの記録でコードを探す②-改ページの非表示】

【Excel/VBA のこと 07】

f:id:tuna-kichi:20200223230704p:plain

 

表を作成していて、ある程度完成してきたら

「印刷プレビュー」で用紙に収まるか確認して、

メイン画面に復帰すると、改ページの点線が表示されている・・・

 

この点線が邪魔で、罫線の種類や、太さが設定した通りのものか

わからなく、作業が進まないので、表示されたらいつも非表示に変えます。

 

この操作も VBA でマクロを作成して、リボンに登録しましょう。

 

 

 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 

改ページの非表示

ここで言う「改ページ」というのは、

f:id:tuna-kichi:20200224184139p:plain

「印刷プレビュー」から復帰すると表示されている、

「ここが用紙一枚の境界ですよ」って教えてくれる点線です。

 

もちろん表示されていても、問題ないときはあるのですが、

表を作成していて、用紙節約のために、

なるべく少ない枚数で収めようとすると、

印刷可能範囲ギリギリまで表を大きくすることが良くあります。

 

そんな時に、改ページがあると邪魔でしょうがない・・・

この改ページを表示 / 非表示する手順は

 

1.「ファイル」タブを開く

2.「オプション」をクリック

3.「詳細設定」をクリック

4.「次のシートで作業するときの表示設定 」の中の

  「改ページを表示する」のチェックを外す

5.「OK」をクリック

f:id:tuna-kichi:20200224185642p:plain

です。

 

マクロの記録

改ページを非表示にする手順をマクロで作成して、

リボンに登録して、ワンクリックで終わらせます。

でも、VBAのコードがわからないので、

「マクロの記録」を使ってコードを探し出します。

 

「マクロの記録」は開発タブの中にあります。

画面左下に表示させることが出来ますので、

こちらの記事も参考にしてください。
www.tuna-kichi.com

 

手順は

1.「マクロの記録」を開始する

2.「ファイル」タブを開く

3.「オプション」をクリック

4.「詳細設定」をクリック

5.「次のシートで作業するときの表示設定 」の中の

  「改ページを表示する」のチェックを外す

6.「OK」をクリック

7.「マクロの記録」を停止する

 

これで、VBE に実際の手順が VBA で記録されたので、確認しましょう。

 

マクロ

 

f:id:tuna-kichi:20200224190624p:plain

ちょっと手直しして

****************************************************************

Sub 改ページ非表示

  ActiveSheet.DisplayPageBreaks = False

End

****************************************************************

【Excelのこと06】の時と同じで、やっぱり一行のみ!

 

ActiveSheet・・・選択(表示)されているシート

Display・・・画面(表示かな?)

Page・・・ページ

Breaks・・・分ける

False・・・無し

 

「いま表示している画面の境界線をなしにします」

って 感じかな?

 

False の所を True にすると「改ページ」の点線が表示されるようになります。

 

****************************************************************

Sub 改ページ表示

  ActiveSheet.DisplayPageBreaks = True

End

****************************************************************

 

なので、表示、非表示のマクロを作成して、

2つ作成してリボンに登録しておけば

簡単に表示・非表示の切り替えできます。

f:id:tuna-kichi:20200224201450p:plain

 

リボンの登録方法はこちらを参考にしてください。  

 

www.tuna-kichi.com

 


 

おまけ

IF 文でまとめてしまう

改ページの表示・非表示の切り替えのマクロを

それぞれ作成して、ふたつをリボンに登録しても良いのですが、

IF を使って、ひとつにまとめてしまうこともできます。

 

それがこちら、

****************************************************************

Sub 改ページ表示非表示()
  If ActiveSheet.DisplayPageBreaks = False Then
    ActiveSheet.DisplayPageBreaks = True
  Else
    ActiveSheet.DisplayPageBreaks = False
  End If
End Sub

****************************************************************

VBA 上級者の人から見るとスマートな書き方ではないかもしれませんが、

これでも、十分、動きます。

 

VBAの記述を直訳するとこんな感じ

・もし、改ページが非表示だったら、表示します。

・もし、改ページが非表示でなければ非表示にします。

 

ちょっと変な言い回しですが、つまるところ、

「非表示だったら表示して、表示していたら非表示にする」

ってことです。

 

f:id:tuna-kichi:20200224204502p:plain

いままで、一行だけだったのに急に五行のマクロになってしまいました・・・

 

でも、難しくないですよね。

  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/