如何在 Excel 中為每個列印頁面新增邊框?
處理橫跨數百頁的大型工作表時,以清晰且專業的格式列印資料至關重要。其中一種有效做法,是在每個列印頁面周圍加上邊框,讓輸出內容在視覺上層次分明、更易閱讀。雖然您可以在 Excel 中手動選取並為每頁內容套用邊框,但面對多頁文件時,這種方式不僅耗時,也不切實際。所幸還有更高效的解決方案,能自動為 Excel 中的每一頁列印加上邊框。本文將介紹幾種實用方法,包括內建選項與替代方案。
透過設定網格線來為每個頁面列印邊框
雖然 Excel 未提供為每個列印頁面專門新增邊框的選項,但您可善用列印網格線功能,輕鬆模擬頁面邊框!此方法快速便捷,無需額外安裝附加元件。請注意,此方式不會產生粗體頁面輪廓——Excel 會列印所有網格線,而頁面邊緣將由最外層的列印網格線自然界定。
注意事項:
- 當您在工作表採用規則的網格版面,且未大量使用自訂框線時,此方法效果最佳。
- 若您的工作表已套用明顯的表格框線,列印時的網格線可能會與其產生視覺衝突。
1. 若存在自訂框線,請先移除,以免列印時出現重疊或不一致的線條。選取工作表後,前往開始> 框線(圖示)> 無框線,即可清除所有選取儲存格的框線:

2. 前往版面配置 > 按一下頁面設置對話方塊啟動器(位於群組右下角的小箭頭),即可開啟「頁面設置」對話方塊:

3. 在頁面設置中,切換至工作表索引標籤,並勾選列印區段中網格線下方的選項,即可列印所有網格線(包含頁面邊緣的網格線):

4. 點擊列印預覽確認結果。列印時,每個頁面都會以最外層的列印網格線形成清晰的矩形網格邊界,模擬頁面邊框效果。範例請見:

提示:
- 若您需要更粗、更醒目的框線,建議手動為列印區域加上外框,或運用巨集繪製頁面輪廓。
- 避免使用合併儲存格或不規則的儲存格區域,以免破壞列印時網格線的視覺連續性。
- 列印前務必先預覽,確保成品外觀完全符合您的期待。

透過 KUTOOLS AI 解鎖 Excel 的神奇功能
- 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
- 自訂公式:打造專屬公式,讓您的工作流程更順暢!
- VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
- 公式解析:輕鬆掌握複雜公式!
- 文字翻譯:輕鬆打破試算表中的語言隔閡!
使用 Kutools for Excel 一鍵為每個頁面列印邊框
對於追求更專業頁面邊框效果的使用者(特別是在格式複雜的工作表中,或網格線不足時),Kutools for Excel 提供了一項便捷解決方案:添加邊框到分頁符功能。只需一鍵點擊,即可為作用中工作表的每個可列印頁面自動加上實心邊框,不僅大幅提升效率,更能確保所有頁面外觀整齊一致!
安裝 Kutools for Excel 後,請依照下列步驟執行添加邊框到分頁符:
1. 啟用要新增邊框的工作表,然後前往企業> 列印> 添加邊框到分頁符。截圖如下:
2. 若出現對話方塊警告繼續操作將刪除所有現有框線,請先確認您已儲存工作內容,或確定可接受框線被覆寫。按一下是以繼續:
套用後,您的工作表每頁都會加上粗體清晰的邊框,讓列印輸出井然有序、一目了然,不僅快速,更能大幅減少手動操作。
提示與注意事項:
- 啟用此選項後,目前工作表中所有現有的框線將被移除。
- 若您希望保留特定框線,請務必先備份檔案或工作表。
- 此選項適用於包含多個列印頁面的大型工作表,能提供一致且視覺清晰的頁面邊框。
使用 VBA 巨集自動化為每個頁面列印邊框
若您希望自動為每個可列印頁面新增邊框(特別適合重複性任務或自訂版面配置),可透過 VBA 巨集讀取 Excel 的分頁符,並據此繪製頁面輪廓,完全掌握框線樣式與粗細,無需仰賴附加元件。
注意事項:
- 此巨集僅於每個可列印頁面的外緣(上/左/下/右)繪製框線,絕不覆蓋現有的內部儲存格框線。
- 在結構清晰的工作表上效果最佳;若包含複雜的儲存格合併或特殊列印區域,可能需要稍作微調。
操作步驟:
1. 按下 Alt + F11,開啟 Visual Basic for Applications 編輯器,然後點選插入 > 模組 以新增模組。
2. 將下列程式碼複製並貼上至模組中:
Sub AddBorderToEachPrintablePage()
Dim ws As Worksheet
Dim LastRow As Long, LastCol As Long
Dim StartRow As Long, EndRow As Long
Dim StartCol As Long, EndCol As Long
Dim vRowBreaks As Variant, vColBreaks As Variant
Dim i As Long, j As Long
Dim oldDisp As Boolean
Dim f As Range
Set ws = ActiveSheet
Application.ScreenUpdating = False
Application.EnableEvents = False
' Check if sheet is empty
Set f = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If f Is Nothing Then GoTo CleanUp
LastRow = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastCol = ws.Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
' Force refresh of page breaks
oldDisp = ws.DisplayPageBreaks
ws.DisplayPageBreaks = True
' Collect horizontal page breaks (add top and bottom bounds)
vRowBreaks = Array(0)
For i = 1 To ws.HPageBreaks.Count
vRowBreaks = ArrayJoin(vRowBreaks, Array(ws.HPageBreaks(i).Location.Row - 1))
Next i
vRowBreaks = ArrayJoin(vRowBreaks, Array(LastRow))
' Collect vertical page breaks (add left and right bounds)
vColBreaks = Array(0)
For j = 1 To ws.VPageBreaks.Count
vColBreaks = ArrayJoin(vColBreaks, Array(ws.VPageBreaks(j).Location.Column - 1))
Next j
vColBreaks = ArrayJoin(vColBreaks, Array(LastCol))
' Draw only outer borders for each printable page
For i = 0 To UBound(vRowBreaks) - 1
StartRow = vRowBreaks(i) + 1
EndRow = vRowBreaks(i + 1)
For j = 0 To UBound(vColBreaks) - 1
StartCol = vColBreaks(j) + 1
EndCol = vColBreaks(j + 1)
With ws.Range(ws.Cells(StartRow, StartCol), ws.Cells(EndRow, EndCol))
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous: .Weight = xlThick
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous: .Weight = xlThick
End With
End With
Next j
Next i
CleanUp:
ws.DisplayPageBreaks = oldDisp
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not f Is Nothing Then
MsgBox "Borders have been added to each printable page!", vbInformation, "AddBorderToEachPrintablePage"
End If
End Sub
Function ArrayJoin(a As Variant, b As Variant) As Variant
Dim temp() As Variant
Dim alen As Long, blen As Long, k As Long
alen = UBound(a) - LBound(a) + 1
blen = UBound(b) - LBound(b) + 1
ReDim temp(0 To alen + blen - 1)
For k = 0 To alen - 1
temp(k) = a(k)
Next k
For k = 0 To blen - 1
temp(alen + k) = b(k)
Next k
ArrayJoin = temp
End Function
3. 返回 Excel,確保目標工作表處於作用中狀態,然後按下 F5(或點擊)執行按鈕)來執行巨集。巨集將自動偵測分頁符,並在每個可列印頁面區塊周圍繪製粗邊框。
提示:
- 透過編輯四個
xlEdge*區段,即可調整框線樣式與粗細(例如:.Weight = xlMedium),並利用.Color設定顏色。 - 若已設定自訂打印區域,Excel 的分頁符將據此執行;請於列印預覽中確認結果。
- 執行巨集前,請先儲存活頁簿!若需重複使用,務必另存為啟用巨集的檔案()
.xlsm),確保功能完整無虞! - 若未找到任何內容,巨集將安全退出並顯示提示訊息,避免在空白工作表上發生錯誤。
若巨集未如預期運作,請檢查工作表中是否包含合併儲存格、隱藏的列/欄,或特殊的縮放設定(例如「調整為寬 1 頁、高 N 頁」)。您可先調整列印區域或頁面設定,再重新執行巨集,以精確界定頁面區塊。
為每個頁面新增邊框
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用