Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 全シートの改ページを解除するExcelマクロ


全シートの改ページを解除するExcelマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba すべてのシートの改ページを消去」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。

2007以降のExcelでは、[ページレイアウト]タブ-[ページ設定]グループ-[改ページ]ボタン-[すべてのシートの改ページを解除]コマンドから、

全シートの改ページを解除するExcelマクロ

アクティブなワークシートの改ページを、すべて解除することができます。

「excel vba すべてのシートの改ページを消去」
という検索をした方は、この処理をすべてのワークシートに対して行うには、VBA(Visual Basic for Applications)でどのようなコードを書けばいいのかを探していたのでしょう。

[スポンサードリンク]

マクロ記録でできたコードを元にした全シートの改ページを解除するサンプルマクロ

以下のようなマクロで、全ワークシートの改ページを解除できます。


Sub 全ワークシートの改ページを解除する()
 Dim sh As Worksheet

 For Each sh In Worksheets
  sh.ResetAllPageBreaks
 Next sh
End Sub

[ページレイアウト]タブ-[ページ設定]グループ-[改ページ]ボタン-[すべてのシートの改ページを解除]を、マクロ記録してみると、
  ActiveSheet.ResetAllPageBreaks
という、WorksheetオブジェクトのResetAllPageBreaksメソッドを利用したコードが作られます。

このWorksheet.ResetAllPageBreaksメソッドを、すべてのワークシートに対するFor Each~Nextループの中で呼んでいるコードです。

「excel vba すべてのシートの改ページを消去」
という検索をした方が、マクロ記録をしてみたかどうかはわかりませんが、マクロを自分で作れるようになりたいのであれば、いきなりインターネットで検索するよりも、まずはマクロ記録を行ってみて、マクロ記録機能で自動的に作られたコードを、どう修正すれば希望する処理になるのかを考えるクセをつけましょう。

オブジェクト変数・For Each~Nextループが苦手な方向けのサンプルマクロ

マクロ学習を始めたばかりの方の中には、その便利さは感じつつも、オブジェクト変数の中に何が入るのかをイメージし辛いことなどから、For Each~Nextループに苦手意識を持つ方もいらっしゃいます。

オブジェクト変数を使わない、以下のようなFor~Nextループを使ったマクロでも、すべてのワークシートの改ページを解除できます。


Sub 全ワークシートの改ページを解除する_ForNextループ()
 Dim i As Long

 For i = 1 to Worksheets.Count
  Worksheets(i).ResetAllPageBreaks
 Next i
End Sub

オブジェクト変数ではない普通の変数のほうが、何が代入されているのかわかりやすく、
 For i = 1 to Worksheets.Count
  Worksheets(i).ResetAllPageBreaks
 Next i
というコードの「Worksheets(i)」というオブジェクト式で、ワークシートを左から順番に取得できることをイメージしやすいはずです。

この「Worksheets(i)」というオブジェクト式で取得できるワークシートと同じものが、
 For Each sh In Worksheets
  sh.ResetAllPageBreaks
 Next sh
という先にご紹介したマクロのオブジェクト変数・shに、For Each~Nextループが回ることで順番に入るということを、オブジェクト変数が苦手という方は、まずはイメージしてみてください。

また、ローカルウィンドウンドウでオブジェクト変数の中身を眺めながら、こんなものが入るのがオブジェクト変数なのだなぁと、まずは、ぼんやりと思いながら、
 For Each sh In Worksheets
  sh.ResetAllPageBreaks
 Next sh
というコードをステップ実行することもおすすめしておきます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 全シートの改ページを解除するExcelマクロ

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 全シートの改ページを解除するExcelマクロ

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.