在宏中以分頁符在頁面底部繪製邊框。

頁面創建日期 :

概述。

列印時,通常使用標題和四面邊框作為紙張框架。 但是,如果紙張是單個紙張,則只需手動繪製邊框,但如果成為多頁,則邊框不會顯示在每個頁面的底部。 此外,還有手動繪製支援,但如果您中途添加或刪除行,則必須在所有頁面上繪製邊框。

本節介紹如何使用宏在所有頁面底部自動繪製邊框。

マクロで改ページ単位でページ下部に罫線を引く

操作確認版本。

支援的 Excel 版本。

  • 2010。
  • 2007。
  • 2003。
  • (可能在其他版本中工作,但未經驗證)

檢查 Excel 版本。

  • 2010。
  • 2007。
  • 2003。

內容。

1ページの印刷

如果列印的頁數為 1 頁,則繪製行底部邊框可以毫無問題地列印。

複数ページ印刷時の最下行

但是,如果有多個頁面,則僅將邊框繪製到行底部不會顯示在每頁的底行上。 您必須手動在分頁符處設置邊框,才能在每個頁面上顯示邊框。

但是,如果沿途添加或刪除行,分頁符行和邊框行將脫落,因此再次繪製會很麻煩。

因此,在這裡,我想使用一種方法,使用宏批量在分頁符行上繪製邊框。

ボタンの配置

由於宏可以合併並運行,因此任何啟動方法都是可能的,但在示例中,將按鈕放在單獨的工作表上,並在按下按鈕時在分頁符上繪製邊框。

如果要分發已包含宏的檔,只需傳遞檔即可,但如果要自己組合宏,請設置 Excel 以組合宏。 有關如何執行此操作的資訊,請參閱查看開發選項卡以放置窗體或啟用 VBA程式設計。

マクロの登録

放置按鈕時,將顯示"註冊宏"對話框,因此請按"新建"按鈕創建它以執行單擊事件。

宏和 Visual Basic 沒有詳細說明,因此請單獨查看。

開啟 Visual Basic 編輯器後,新增以下代碼: 通過調用此函數,可以為指定工作表的分頁符行繪製邊框。

有關函數的說明,請參閱註釋。

'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' targetSheet    : 改ページラインの描画対象シート
'  lineStyle      : 罫線のスタイル。XlLineStyle 列挙型から指定。
'  lineWeight     : 罫線の太さ。XlBorderWeight 列挙型から指定。
'  lineColorIndex : 罫線の色。XlColorIndex 列挙型から指定、またはカラー パレットのインデックス値を指定。
'
'【備考】
'  一度罫線を設定すると戻せないので注意。
Private Sub SetHPageBreakLines(targetSheet As Worksheet, _
                               Optional lineStyle As XlLineStyle = xlContinuous, _
                               Optional lineWeight As XlBorderWeight = xlThin, _
                               Optional lineColorIndex As XlColorIndex = xlAutomatic)

  ' 列の最大位置取得
  Dim maxColumn As Integer
  maxColumn = targetSheet.UsedRange.Columns.Count
    
  ' 各ページ描画
  For Each hpg In targetSheet.HPageBreaks
    Dim row As Integer
    Dim targetCell As Range
    row = hpg.Location.row - 1
    Set targetCell = targetSheet.Range(targetSheet.Cells(row, 1), targetSheet.Cells(row, maxColumn))
    
    ' 罫線のプロパティを設定する
    With targetCell.Borders(xlEdgeBottom)
      .lineStyle = lineStyle
      .Weight = lineWeight
      .ColorIndex = lineColorIndex
    End With
  Next
    
End Sub

按下按鈕的過程如下: 在創建的 SetHPageBreakLines 函數中指定工作表以在工作表上繪製邊框。 如果還希望指定邊框樣式,則可以使用其餘參數指定它。

由於這是一個示例,因此直接在宏中指定工作表名稱,但最好創建一個單元格,以便可以描述工作表名稱並引用該單元格。

'【概要】
'  ボタンクリックイベント
Sub ボタン1_Click()
  ' 対象シート
  Dim syoriSheet As Worksheet
  Set syoriSheet = Worksheets("ドキュメント")

  ' 罫線を設定
  Call SetHPageBreakLines(syoriSheet)

  ' 下は線のスタイル指定
  'Call SetHPageBreakLines(syoriSheet, xlContinuous, xlThin, xlAutomatic)

  MsgBox syoriSheet.HPageBreaks.Count & "ページ分の線の設定が完了しました。"
End Sub

各ページ毎の罫線表示

運行宏時,您會知道每頁的底行都設置了邊框。 您可以在列印預覽中查看它們。

需要注意的一點是,在運行宏后,無法返回您設置的邊框,因此最好只在列印時運行宏並列印它。