複数のワークシートの印刷範囲の設定(Microsoft Excel)
Martinは、複数のワークシートの印刷範囲を同時に設定する方法があるかどうか尋ねました。彼は、まったく同じ構造のワークシートを多数含むワークブックを持っており、それぞれの印刷範囲をまったく同じにしたいと考えています。
Martinが発見したように、これをExcelで直接行う方法はありません。
複数のワークシートを選択し、印刷領域として設定する領域を選択してから、印刷領域を設定しようとすると、設定を行うオプションがグレー表示されていることがすぐにわかり、そのオプションを選択できません。
ただし、試すことができることがいくつかあります。 1つは、新しいワークブックから始めて、すべてのワークシートで必要な印刷領域を含む単一のワークシートを作成することです。次に、ワークブックで必要な回数だけワークシートをコピーします。コピーされたワークシートには、最初のワークシートと同じように印刷領域が設定されます。
もう1つのオプションは、印刷領域の設定を行うマクロを作成することです。次のマクロについて考えてみます。このマクロは、選択したすべてのワークシートの印刷領域を、アクティブなワークシートの印刷領域に設定します。 (複数のワークシートが選択されている場合、アクティブなワークシートは、マクロを実行したときに表示されるワークシートです。)
Sub SetPrintAreas1() Dim sPrintArea As String Dim wks As Worksheet sPrintArea = ActiveSheet.PageSetup.PrintArea For Each wks In ActiveWindow.SelectedSheets wks.PageSetup.PrintArea = sPrintArea Next Set wks = Nothing End Sub
最初にアクティブなワークシートの印刷領域を設定する必要はなく、指定した範囲に印刷領域を設定したい場合は、マクロに1つの小さな変更を加えて、印刷領域の範囲を使用することができます。 :
Sub SetPrintAreas2() Dim sPrintArea As String Dim wks As Worksheet sPrintArea = "A7:E22" For Each wks In ActiveWindow.SelectedSheets wks.PageSetup.PrintArea = sPrintArea Next Set wks = Nothing End Sub
必要に応じて別の印刷領域を選択するには、sPrintArea変数に割り当てられている範囲を置き換えます。さまざまなワークブックでマクロをかなり使用できると思われる場合、または印刷領域を定期的に変更する必要があると思われる場合は、マクロを変更して、ユーザーに次の範囲の入力を求めることができます。使用:
Sub SetPrintAreas3() Dim sPrintArea As String Dim wks As Worksheet sPrintArea = InputBox("Enter print area range") For Each wks In ActiveWindow.SelectedSheets wks.PageSetup.PrintArea = sPrintArea Next Set wks = Nothing End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3157)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Setting_Print_Ranges_for_Multiple_Worksheets [複数のワークシートの印刷範囲の設定]
。