【VBA 自動化教學11】一鍵建立目錄 + 自動產出摘要報表|整合導覽與分析的全方位工具

更新 發佈閱讀 9 分鐘

在多工作表的 Excel 報表中,使用者常需要快速導覽並同時掌握各工作表的資料摘要。透過 VBA,我們可以建立一個「一鍵整合」功能:自動建立目錄頁,並在目錄中同時產出各工作表的統計摘要(筆數、總和、平均),讓報表更直觀、更專業。

功能概述

這段 VBA 程式碼可實現以下功能:

  • 自動建立「目錄」工作表
  • 為每張工作表建立超連結,快速導覽
  • 自動計算各工作表指定欄位的統計摘要(筆數、總和、平均)
  • 將摘要結果整合到目錄頁,形成總覽表格

VBA 程式碼範例

Sub CreateIndexAndSummary()
Dim wsIndex As Worksheet
Dim ws As Worksheet
Dim i As Integer
Dim LastRow As Long
Dim CountVal As Long, SumVal As Double, AvgVal As Double

' 建立或清空目錄工作表
On Error Resume Next
Set wsIndex = ThisWorkbook.Sheets("目錄")
If wsIndex Is Nothing Then
Set wsIndex = ThisWorkbook.Sheets.Add(Before:=Sheets(1))
wsIndex.Name = "目錄"
Else
wsIndex.Cells.Clear
End If
On Error GoTo 0

' 設定標題
wsIndex.Range("A1").Value = "📋 工作表目錄與摘要"
wsIndex.Range("A1").Font.Bold = True
wsIndex.Range("A1").Font.Size = 14

' 標題列
wsIndex.Range("A2").Value = "工作表名稱"
wsIndex.Range("B2").Value = "筆數"
wsIndex.Range("C2").Value = "總和"
wsIndex.Range("D2").Value = "平均"

i = 3
For Each ws In ThisWorkbook.Sheets
If ws.Name <> wsIndex.Name Then
' 建立目錄超連結
wsIndex.Hyperlinks.Add Anchor:=wsIndex.Cells(i, 1), _
Address:="", _
SubAddress:="'" & ws.Name & "'!A1", _
TextToDisplay:=ws.Name

' 計算摘要(以 B 欄為例)
LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
If LastRow > 1 Then
CountVal = Application.WorksheetFunction.Count(ws.Range("B2:B" & LastRow))
SumVal = Application.WorksheetFunction.Sum(ws.Range("B2:B" & LastRow))
If CountVal > 0 Then
AvgVal = SumVal / CountVal
Else
AvgVal = 0
End If
Else
CountVal = 0: SumVal = 0: AvgVal = 0
End If

' 輸出摘要到目錄頁
wsIndex.Cells(i, 2).Value = CountVal
wsIndex.Cells(i, 3).Value = SumVal
wsIndex.Cells(i, 4).Value = AvgVal

i = i + 1
End If
Next ws

' 美化表格
With wsIndex.Range("A2:D" & i - 1)
.Font.Name = "微軟正黑體"
.Font.Size = 11
.Borders.LineStyle = xlContinuous
.Interior.Color = RGB(240, 248, 255)
End With

wsIndex.Columns("A:D").AutoFit
MsgBox "目錄與摘要報表已建立完成", vbInformation
End Sub

程式碼詳細解說(初學者導向)

這段程式碼結合了「目錄建立」與「統計摘要」功能:

  • 建立或清空目錄頁: 若已有「目錄」工作表則清空,否則新增一張並命名為「目錄」。
  • 設定標題與表頭: 在 A1 顯示「工作表目錄與摘要」,並在 A2:D2 建立表頭(工作表名稱、筆數、總和、平均)。
  • 迴圈處理每張工作表:
  1. 建立超連結,讓使用者可快速跳轉。
  2. 計算 B 欄的統計值(筆數、總和、平均)。
  3. 將結果輸出到目錄頁的對應列。
  • 美化表格: 設定字型、框線與底色,並自動調整欄寬。
  • 提示訊息: 使用 MsgBox 提示使用者目錄與摘要已建立完成。

操作步驟與使用方式

  • 將程式碼貼入 Excel 的模組中(例如 Module1)
  • 確保各工作表的資料在 B 欄(從第 2 列開始)
  • 執行 CreateIndexAndSummary 程式
  • 程式會自動建立目錄頁並產出摘要表格

應用場景與延伸建議

  • 多部門報表快速導覽並查看各部門統計
  • 教學範本或作業集集中管理與分析
  • 客戶資料或專案進度表快速彙整

延伸功能建議:

  • 支援多欄位摘要(例如 B、C、D 欄)
  • 加入「回到目錄」連結至各工作表
  • 自動產出圖表(長條圖或圓餅圖)
  • 匯出目錄與摘要為 PDF 報表

常見問題 FAQ

Q1:是否可以指定不同欄位進行統計?

可以修改程式碼中的 "B" 為其他欄位代號,例如 "C""D"

Q2:是否可以同時統計多欄位?

可以在迴圈中加入多個統計計算,並將結果輸出到目錄頁。

Q3:是否可以在目錄頁加上圖表?

可以使用 Charts.Add 方法建立圖表,將摘要結果視覺化。

結語與延伸閱讀

這段 VBA 程式碼提供了完整的「一鍵建立目錄 + 自動產出摘要報表」功能,結合導覽與分析,讓報表更直觀、更專業。後續你可以加入多欄位統計、圖表產出與 PDF 匯出模組,打造全方位的報表自動化工具。

下一篇將介紹如何「一鍵快速清理並格式化資料」,敬請期待【VBA 自動化教學】第 12 篇~~~

留言
avatar-img
蝦仁藥師_臨床輕鬆學的沙龍
51會員
335內容數
哈囉~!這裡主要在分享醫療知識,還有記錄下學習程式語言的各種筆記,偶爾穿插一些個人的淺見與有趣分享,希望大家都可以在這邊得到有用的資訊~!
2025/12/01
在日常資料分析中,常需要依條件篩選資料並將結果匯出成新檔案或報表。透過 VBA,我們可以建立一個「一鍵篩選」功能,自動依指定條件篩選資料,並將結果匯出至新的 Excel 檔案或 PDF,節省大量人工操作。
Thumbnail
2025/12/01
在日常資料分析中,常需要依條件篩選資料並將結果匯出成新檔案或報表。透過 VBA,我們可以建立一個「一鍵篩選」功能,自動依指定條件篩選資料,並將結果匯出至新的 Excel 檔案或 PDF,節省大量人工操作。
Thumbnail
2025/12/01
在 Excel 中,WRAPCOLS 函數能將單列或單欄的陣列,依指定的「欄數」進行換行,並回傳新的矩陣。它是 Excel 365 的動態陣列函數之一,適合用於 名單排版、報表結構化、資料重組 等情境,常與 WRAPROWS、SEQUENCE、TOCOL、TOROW 搭配使用。
Thumbnail
2025/12/01
在 Excel 中,WRAPCOLS 函數能將單列或單欄的陣列,依指定的「欄數」進行換行,並回傳新的矩陣。它是 Excel 365 的動態陣列函數之一,適合用於 名單排版、報表結構化、資料重組 等情境,常與 WRAPROWS、SEQUENCE、TOCOL、TOROW 搭配使用。
Thumbnail
2025/12/01
在 Excel 中,VSTACK 函數能將多個陣列或範圍「垂直堆疊」在一起,並回傳新的動態陣列。它是 Excel 365 的動態陣列函數之一,適合用於 名單合併、報表整合、資料重組 等情境,常與 HSTACK、UNIQUE、SORT、FILTER 搭配使用。
Thumbnail
2025/12/01
在 Excel 中,VSTACK 函數能將多個陣列或範圍「垂直堆疊」在一起,並回傳新的動態陣列。它是 Excel 365 的動態陣列函數之一,適合用於 名單合併、報表整合、資料重組 等情境,常與 HSTACK、UNIQUE、SORT、FILTER 搭配使用。
Thumbnail
看更多
你可能也想看
Thumbnail
身為一個精打細算,又熱愛旅遊美食的家庭主婦,皮包裡有好幾張信用卡,每次都想著哪張卡要搭配哪個通路比較划算,著實讓人燒腦,這次玉山Unicard彷彿聽到我的心聲,百大消費通路全都給你優惠,讓你無腦消費,帶一張卡就可以輕鬆省錢,FUN心玩透透!
Thumbnail
身為一個精打細算,又熱愛旅遊美食的家庭主婦,皮包裡有好幾張信用卡,每次都想著哪張卡要搭配哪個通路比較划算,著實讓人燒腦,這次玉山Unicard彷彿聽到我的心聲,百大消費通路全都給你優惠,讓你無腦消費,帶一張卡就可以輕鬆省錢,FUN心玩透透!
Thumbnail
話說身為短線交易者,每天要作的事情就是從盤勢觀察、到籌碼流向,再到經過多維度資料數據交叉比對,盤中盯著分K、江波圖和五檔報價,算計著每一分K線的轉折,雖能換來即時驗證判斷的快感與成就,但長期下來,卻也衍生眼睛與肩頸卻成了抹不去的職業病。
Thumbnail
話說身為短線交易者,每天要作的事情就是從盤勢觀察、到籌碼流向,再到經過多維度資料數據交叉比對,盤中盯著分K、江波圖和五檔報價,算計著每一分K線的轉折,雖能換來即時驗證判斷的快感與成就,但長期下來,卻也衍生眼睛與肩頸卻成了抹不去的職業病。
Thumbnail
每天都在花錢,但你知道這些錢都能省下一筆嗎?玉山 Unicard 期間限定活動,結合日常高頻消費通路,提供最高 7.5% 的超有感回饋。文章將分享真實使用情境,教你如何聰明運用,讓每筆開銷都化為小確幸。
Thumbnail
每天都在花錢,但你知道這些錢都能省下一筆嗎?玉山 Unicard 期間限定活動,結合日常高頻消費通路,提供最高 7.5% 的超有感回饋。文章將分享真實使用情境,教你如何聰明運用,讓每筆開銷都化為小確幸。
Thumbnail
分享利用 Google Apps Script 打造 Gmail 自動化監測工具,監控系統通知信件是否漏寄。透過簡單的腳本設置,即使是程式麻瓜也能輕鬆將動化記錄email資料至 Google Sheet。希望能讓更多人,即使是程式初學者,也能親身感受到 AI 與程式自動化所帶來的無限魅力與便利。
Thumbnail
分享利用 Google Apps Script 打造 Gmail 自動化監測工具,監控系統通知信件是否漏寄。透過簡單的腳本設置,即使是程式麻瓜也能輕鬆將動化記錄email資料至 Google Sheet。希望能讓更多人,即使是程式初學者,也能親身感受到 AI 與程式自動化所帶來的無限魅力與便利。
Thumbnail
前言 RPAI 數位優化器在上次 Power Automate #11|Excel 功能教學 - 啟動、新增工作表、關閉 大家介紹了 Excel 的開啟功能,既然已成功開啟 Excel,接下來便是讀取工作表中的內容。 本次將帶領大家了解如何讀取 Excel 工作表,並依據不同的資料範圍進行擷取。
Thumbnail
前言 RPAI 數位優化器在上次 Power Automate #11|Excel 功能教學 - 啟動、新增工作表、關閉 大家介紹了 Excel 的開啟功能,既然已成功開啟 Excel,接下來便是讀取工作表中的內容。 本次將帶領大家了解如何讀取 Excel 工作表,並依據不同的資料範圍進行擷取。
Thumbnail
前言 在現今的工作環境中,效率是企業成功的關鍵,而 Excel 作為辦公室軟體的代表之一,無論在數據處理、分析還是自動化任務中,都扮演著不可或缺的角色。
Thumbnail
前言 在現今的工作環境中,效率是企業成功的關鍵,而 Excel 作為辦公室軟體的代表之一,無論在數據處理、分析還是自動化任務中,都扮演著不可或缺的角色。
Thumbnail
本章介紹Excel下拉式選單的兩種主要功能:資料驗證和ComboBox。資料驗證用於限制儲存格輸入的數據類型或範圍,確保數據輸入正確; ComboBox則更互動式的選擇功能,允許使用者從清單選擇或自行輸入,並與VBA結合更高級的功能。文章說明如何插入ComboBox,以及使用VBA動態填充選單內容。
Thumbnail
本章介紹Excel下拉式選單的兩種主要功能:資料驗證和ComboBox。資料驗證用於限制儲存格輸入的數據類型或範圍,確保數據輸入正確; ComboBox則更互動式的選擇功能,允許使用者從清單選擇或自行輸入,並與VBA結合更高級的功能。文章說明如何插入ComboBox,以及使用VBA動態填充選單內容。
Thumbnail
這篇文章將帶您走進 RPA 的學習世界,專注於 UiPath 中的 Excel 常用功能。例如,如何使用 Excel File、Read Range、Write Cell、Filter 和 Insert Sheet。將透過範例讓您瞭解這些功能的實際應用,幫助掌握自動化流程這項技術,我們一起開始學習!
Thumbnail
這篇文章將帶您走進 RPA 的學習世界,專注於 UiPath 中的 Excel 常用功能。例如,如何使用 Excel File、Read Range、Write Cell、Filter 和 Insert Sheet。將透過範例讓您瞭解這些功能的實際應用,幫助掌握自動化流程這項技術,我們一起開始學習!
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
在 Excel 中,日期和時間是常見的數據類型,因此經常需要進行日期計算和處理。為了方便使用者操作,Excel 提供了許多強大的日期函數。在這篇教學文章中,我們將介紹常用的日期函數及其應用。
Thumbnail
在 Excel 中,日期和時間是常見的數據類型,因此經常需要進行日期計算和處理。為了方便使用者操作,Excel 提供了許多強大的日期函數。在這篇教學文章中,我們將介紹常用的日期函數及其應用。
Thumbnail
在這篇教學中,我們將使用 C# 和 Microsoft.Office.Interop.Excel 庫將圖片插入到 Excel 試算表中。
Thumbnail
在這篇教學中,我們將使用 C# 和 Microsoft.Office.Interop.Excel 庫將圖片插入到 Excel 試算表中。
Thumbnail
在工作中,我們經常需要處理各種報表,而其中一項任務就是每天手動更新報表。這可能是一個繁瑣且容易被遺忘的工作,但有幸的是,我們可以利用VBA(Visual Basic for Applications)和Windows工作排程器來自動化這個過程,讓我們在不知不覺中完成這項任務。
Thumbnail
在工作中,我們經常需要處理各種報表,而其中一項任務就是每天手動更新報表。這可能是一個繁瑣且容易被遺忘的工作,但有幸的是,我們可以利用VBA(Visual Basic for Applications)和Windows工作排程器來自動化這個過程,讓我們在不知不覺中完成這項任務。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News