Excel で改ページのラインに自動的に枠線を設定する方法 (条件付き書式 編)

Excel で作成した印刷用の資料で各ページの上下左右に枠線を表示させたい場合があると思います。上部、左右については改ページされていても常に枠線を設定しておくことが可能ですが (行挿入しても左右の線は自動的に設定される)、各ページの下部に枠線を入れるには各ページごとに改ページのライン位置に枠線を設定しなくてはなりません。ですが、実際にやってみるといろいろと面倒なことがわかります。

  • ページが増えるごとに枠線を設定しないといけない
  • 改ページプレビューだと枠線がきちんと設定されているか見えにくい
  • 上のページで行がずれたりするとそれ以降のページの枠線をすべて直さないといけない
  • 印刷の余白や印刷幅を変更するとすべての枠線を修正しなければいけない
  • マクロでもできるけど、Excel 2007 以降の形式だとファイルの拡張子を変更しないといけない

ここでは下部の枠線を意識せずに自働的に枠線を設定する方法を、条件付き書式を使う方法で設定手順を説明します。

【環境】

  • Excel 2010

【条件】

  • すべての行の高さが完全に一致している必要があります。

【手順】

  1. 印刷プレビュー、改ページプレビューなどで1ページあたりの印刷行数を調べる (ページヘッダーがある場合は1ページ目と2ページ目以降で行数が異なるので2ページ目以降を参考にすること)
  2. 「A1」のセルを選択
  3. 「ホーム」タブから「条件付き書式」の「ルールの管理」を選択。
  4. 「新規ルール」ボタンをクリック。
  5. ルールから「数式を使用して、書式設定するセルを決定」を選択。
  6. 数式欄に「=MOD(ROW()-<ヘッダの行数>,<1ページ当たりの行数>)=0」と入力。(<>の箇所を任意の数値に設定)
  7. 右下の「書式」ボタンをクリックして、「罫線」タブから下線を設定。OKボタンをクリック
  8. さらにOKボタンをクリックして新しいルールを決定する。
  9. 作成したルールの適用先を「=A1:<シートの左下のセル>」に変更。(<>の箇所を任意の値に設定)
  10. 「OK」ボタンをクリックして印刷プレビューを実行。各ページの下に下線が表示されているか確認
]]>

[SSRS] Tablix の列ヘッダを改ページしても表示させたままにする方法

設定がわかりにくかったのでメモ。

下のような列ヘッダー1行と詳細データ1行の Tablix を配置しているものとします。

列ヘッダーA 列ヘッダーB 列ヘッダーC 列ヘッダーD
詳細データA 詳細データB 詳細データC 詳細データD

 

レポートを表示した際に詳細データに表示される行数が多くなると自動的に改ページされるようになりますが、改ページを行った場合、2ページ目以降も列ヘッダーを表示してほしい場合が多いと思いますが、残念ながらデフォルトでは最初のページにしか表示されません。(改ページさせない設定は Tablix のプロパティにあります)

2ページ目以降も列ヘッダーを表示するために画面の項目を調べていくと一般的に Tablix のプロパティに「すべてのページにヘッダー行を表示する」というチェックボックスを見つけられると思いますので、そのチェックで解決すると思われがちなのですが、このチェックをつけても期待した動作にはなってくれません。(このプロパティがどんな動作をするかはわかりません)

改ページでも列ヘッダーを表示させるには以下の手順を踏む必要があります。

  1. Tablix をクリックして選択
  2. デザイナの下にあるグループペイン(行グループ、列グループのエリア)の「右上」にある「▼」をクリック。(行グループ、列グループの下ではなく右側にあります)
  3. 「詳細設定モード」を選択
  4. 行グループの下に「(静的)」の項目が追加されるのでそれを選択。(列グループにも同様に表示されますが、列ヘッダーを表示させたい場合は行グループの方を選択します。選択するとデザイナ上の Tablix で左上のセルが選択されると思います)
  5. プロパティペインを開き(ない場合は表示メニューから「プロパティ ウインドウ」)、「KeepWithGroup」のプロパティを「After」に、「RepeatOnNewPage」のプロパティを「True」に設定します。
  6. プレビューで動作確認
]]>