【VBA 自動化教學10】一鍵篩選資料並匯出結果|快速產出分析報表

更新 發佈閱讀 5 分鐘

在日常資料分析中,常需要依條件篩選資料並將結果匯出成新檔案或報表。透過 VBA,我們可以建立一個「一鍵篩選」功能,自動依指定條件篩選資料,並將結果匯出至新的 Excel 檔案或 PDF,節省大量人工操作。

功能概述

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

  • 自動篩選指定欄位的資料
  • 將篩選結果複製到新工作簿
  • 將新工作簿儲存為 Excel 檔案(可延伸為 PDF)
  • 適用於報表分析、資料清理與成果輸出

VBA 程式碼範例

Sub FilterAndExportData()
Dim ws As Worksheet
Dim rng As Range
Dim NewWB As Workbook
Dim Criteria As String

' 設定篩選條件(以「部門=銷售」為例)
Criteria = "銷售"

' 指定資料範圍(假設資料在 A1:D100
Set ws = ActiveSheet
Set rng = ws.Range("A1:D100")

' 套用篩選
rng.AutoFilter Field:=2, Criteria1:=Criteria ' 第二欄為部門

' 複製篩選結果到新工作簿
rng.SpecialCells(xlCellTypeVisible).Copy
Set NewWB = Workbooks.Add
NewWB.Sheets(1).Range("A1").PasteSpecial xlPasteValues

' 儲存新工作簿
NewWB.SaveAs Filename:=ThisWorkbook.Path & "\篩選結果.xlsx", FileFormat:=xlOpenXMLWorkbook
NewWB.Close False

' 清除篩選
ws.AutoFilterMode = False

MsgBox "篩選結果已匯出至新檔案", vbInformation
End Sub

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

這段程式碼的目的是篩選資料並將結果匯出至新檔案。以下是逐段說明:

宣告變數:

  • ws 指向目前工作表。
  • rng 指定要篩選的資料範圍。
  • NewWB 是新建立的工作簿。
  • Criteria 是篩選條件。
  1. 設定篩選條件: 這裡以「部門=銷售」為例,將 Criteria 設為「銷售」。
  2. 指定資料範圍: 使用 Range("A1:D100") 指定資料範圍,假設資料在 A 到 D 欄。
  3. 套用篩選: 使用 AutoFilter 方法,指定第二欄(部門欄)符合條件的資料。
  4. 複製篩選結果: 使用 SpecialCells(xlCellTypeVisible) 取得篩選後的可見儲存格,並複製到新工作簿。
  5. 儲存新工作簿: 使用 SaveAs 將新檔案儲存為 篩選結果.xlsx,並關閉新工作簿。
  6. 清除篩選: 使用 AutoFilterMode = False 清除篩選條件。
  7. 提示訊息: 使用 MsgBox 提示使用者匯出完成。

操作步驟與使用方式

  1. 將程式碼貼入 Excel 的模組中(例如 Module1)
  2. 確保資料已存在於指定範圍(A1:D100)
  3. 執行 FilterAndExportData 程式
  4. 程式會自動篩選並匯出結果至新檔案

應用場景與延伸建議

  • 篩選特定部門或日期的報表
  • 匯出符合條件的客戶清單
  • 教學或作業中快速產出篩選結果

延伸功能建議:

  • 加入動態範圍偵測(自動抓取最後一列)
  • 支援多條件篩選(例如部門+日期)
  • 匯出為 PDF(使用 ExportAsFixedFormat 方法)
  • 加入儲存路徑選擇對話框

常見問題 FAQ

Q1:是否可以篩選多個條件?

可以使用 Criteria1:="=銷售", Operator:=xlOr, Criteria2:="=財務"

Q2:是否可以自動偵測資料範圍?

可以改用 ws.UsedRangews.Range("A1").CurrentRegion

Q3:是否可以匯出為 PDF?

可以在新工作簿中使用 ExportAsFixedFormat Type:=xlTypePDF 方法。

結語與延伸閱讀

這段 VBA 程式碼提供了高效率的「一鍵篩選並匯出結果」功能,適合用於報表分析、資料清理與教學應用。後續可加入多條件篩選、動態範圍偵測與 PDF 匯出模組,打造完整的資料篩選工具。

下一篇將介紹如何「一鍵快速建立目錄與摘要報表」,敬請期待【VBA 自動化教學】第 11 篇~!

留言
avatar-img
留言分享你的想法!
avatar-img
蝦仁藥師_臨床輕鬆學的沙龍
45會員
325內容數
哈囉~!這裡主要在分享醫療知識,還有記錄下學習程式語言的各種筆記,偶爾穿插一些個人的淺見與有趣分享,希望大家都可以在這邊得到有用的資訊~!
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
2025/11/29
在 Excel 中,UNIQUE 函數能從陣列或範圍中擷取不重複的值,並回傳新的動態陣列。它是 Excel 365 的動態陣列函數之一,適合用於 名單整理、資料分析、報表設計,常與 SORT、FILTER、TOCOL、TOROW 搭配使用。
Thumbnail
2025/11/29
在 Excel 中,UNIQUE 函數能從陣列或範圍中擷取不重複的值,並回傳新的動態陣列。它是 Excel 365 的動態陣列函數之一,適合用於 名單整理、資料分析、報表設計,常與 SORT、FILTER、TOCOL、TOROW 搭配使用。
Thumbnail
看更多
你可能也想看
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
本文提供快速建立成本估價單的方法,透過Excel資料庫與VLOOKUP函數,自動化計算成本,節省時間與人力。教學步驟包含資料庫建立、函數連結與下拉選單製作,並提供範例與模板下載。
Thumbnail
本文提供快速建立成本估價單的方法,透過Excel資料庫與VLOOKUP函數,自動化計算成本,節省時間與人力。教學步驟包含資料庫建立、函數連結與下拉選單製作,並提供範例與模板下載。
Thumbnail
過年前在LINE社群有網友提出一個問題。 🥹網友:在報導確認的A欄儲存格輸入員工qr會跳出視窗顯示員工的資料 🥹網友:主要是跳出視窗的VBA我不確定要怎麼下手比較好~ 😎我:為什麼要跳出來視窗? 這樣每輸入一次就跳一個 要一直關視窗誒 🥹網友:想給人員看並確認的,要辦活動
Thumbnail
過年前在LINE社群有網友提出一個問題。 🥹網友:在報導確認的A欄儲存格輸入員工qr會跳出視窗顯示員工的資料 🥹網友:主要是跳出視窗的VBA我不確定要怎麼下手比較好~ 😎我:為什麼要跳出來視窗? 這樣每輸入一次就跳一個 要一直關視窗誒 🥹網友:想給人員看並確認的,要辦活動
Thumbnail
在臺灣,有部分企業會使用民國日期,因此如何在 Excel 中轉換民國和西元日期就顯得非常重要。 除了日期轉換之外,計算年紀、星期、生肖、星座也是常見的日期處理需求。這些需求看似簡單,但如果沒有 Excel 的幫助,可能會花費不少時間和精力。
Thumbnail
在臺灣,有部分企業會使用民國日期,因此如何在 Excel 中轉換民國和西元日期就顯得非常重要。 除了日期轉換之外,計算年紀、星期、生肖、星座也是常見的日期處理需求。這些需求看似簡單,但如果沒有 Excel 的幫助,可能會花費不少時間和精力。
Thumbnail
年終決算的時間又到了,一想到密密麻麻的Excel報表就頭痛嗎?Excel的各種功能實在太多,加上又有堆積如山的資料數據。有哪種財務報表可以解救辛苦的打工人啊!別擔心,這篇文章將教你一鍵美化表格、一鍵求和、一秒排出業績高低、資料條即時顯示業績高低、業績圖表業績起伏更直覺以及一眼看出圖表業績最高點。
Thumbnail
年終決算的時間又到了,一想到密密麻麻的Excel報表就頭痛嗎?Excel的各種功能實在太多,加上又有堆積如山的資料數據。有哪種財務報表可以解救辛苦的打工人啊!別擔心,這篇文章將教你一鍵美化表格、一鍵求和、一秒排出業績高低、資料條即時顯示業績高低、業績圖表業績起伏更直覺以及一眼看出圖表業績最高點。
Thumbnail
歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 計算商品與單價、小計與總計是多數人日常辦公時常常面臨的課題,今天要介紹的函數 SUMPRODUCT
Thumbnail
歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 計算商品與單價、小計與總計是多數人日常辦公時常常面臨的課題,今天要介紹的函數 SUMPRODUCT
Thumbnail
高效生活,幫助你找回更多自己的時間 哈囉,這裡是 AL 的 Googlesheet 學習筆記 本系列文章,會帶你認識各種函數,學習並應用於日常,加速生活與工作、提升效率 今天要介紹的函數是 ARRAYFORMULA
Thumbnail
高效生活,幫助你找回更多自己的時間 哈囉,這裡是 AL 的 Googlesheet 學習筆記 本系列文章,會帶你認識各種函數,學習並應用於日常,加速生活與工作、提升效率 今天要介紹的函數是 ARRAYFORMULA
Thumbnail
高效生活,幫助你找回更多自己的時間 哈囉,這裡是 AL 的 Googlesheet 學習筆記 本系列文章,會帶你認識各種函數,學習並應用於日常,加速生活與工作、提升效率 今天要介紹的函數是 countif 和 countifs
Thumbnail
高效生活,幫助你找回更多自己的時間 哈囉,這裡是 AL 的 Googlesheet 學習筆記 本系列文章,會帶你認識各種函數,學習並應用於日常,加速生活與工作、提升效率 今天要介紹的函數是 countif 和 countifs
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News