Skip to main content

如何在Excel中自動生成發票號碼?

Author: Kelly Last Modified: 2025-08-06

在Excel中生成發票號碼經常會遇到一個挑戰:由於發票號碼需要是唯一且連續的,手動輸入容易出現錯誤,例如忘記最後使用的號碼或不小心重複使用號碼。這可能會導致發票追蹤混亂、數據不準確,以及可能的簿記或合規問題。自動化Excel中的發票號碼生成不僅能節省時間,還能確保開票過程中的準確性和一致性。

本文探討了在Excel中自動生成發票號碼的三種實用方法。每個解決方案都提供了不同的優勢,並適用於特定場景,幫助您簡化工作流程並減少錯誤。


在Excel中添加自動發票號碼生成器

此解決方案使用VBA每次打開指定的工作簿時自動遞增發票號碼。它適合於在單一文件中創建和追蹤發票的情況。然而,如果您在關閉前忘記保存,或者跨多個工作簿操作,則存在重複的風險。以下是詳細的逐步指南及重要提示。

1. 首先打開要用於發票的工作簿,或者如果剛開始,可以創建一個新的工作簿。

2. 選擇一個空白單元格來存儲您的發票起始號碼。例如,在單元格D2中輸入起始發票號碼,如10000。這個單元格將作為您生成發票號碼的參考。

3. 按Alt + F11打開Microsoft Visual Basic for Applications窗口。在VBAProject面板(通常在左側),展開當前工作簿的列表,然後雙擊ThisWorkbook以打開其代碼窗口。(注意:例如,如果您的文件名為Book1,請在VBAProject (Book1)下找到ThisWorkbook。)

4. 複製並粘貼以下VBA代碼到出現的代碼窗口中。

VBA:發票號碼生成器

Private Sub Workbook_Open()
Range("D2").Value = Range("D2").Value + 1
End Sub

注意:如果您在步驟2中使用了不同的位置作為起始號碼,請務必調整代碼中的D2以匹配您選擇的單元格。

insert the code into ThisWorkbook module

5. 如果您想創建更先進或可讀性更高的發票號碼(例如,添加日期、公司名稱或隨機元素),您可以使用Excel公式而不是純數字。以下是一些常用的公式及其效果:

編號 公式 發票號碼
1 ="CompanyName"&TEXT(TODAY(),"yymmdd")&D2 CompanyName141209100000
2 ="CompanyName"&TEXT(TODAY(),"0")& D2 CompanyName41982100000
3 ="CompanyName"&TEXT(NOW(),"MMDDHHMMSS")& D2 CompanyName1209095819100000
4 ="CompanyName"&TEXT(NOW(),"0")& D2 CompanyName41982100000
5 ="CompanyName"&RANDBETWEEN(100000,999999)& D2 CompanyName448685100000

實用技巧:
(1) 替換 D2 如果上述公式中的起始號碼單元格不同,請替換成實際的起始號碼單元格。
(2) 替換 CompanyName 替換成您的組織或企業名稱,或其他所需的前綴。
(3) 在要顯示發票號碼的單元格中輸入公式,然後按 Enter 生成自動發票號碼。
(4) 對於批量生成,您可以拖動填充柄來複製公式並快速生成多個唯一的發票號碼。

注意事項與提醒:
- 確保在Excel設置中啟用了宏,否則VBA代碼將無法運行。
- 記住每次關閉前保存工作簿;否則,下次發票號碼可能不會正確更新,從而導致可能的重複。
- 將起始號碼單元格存儲在隱藏或受保護的工作表中可以進一步降低意外編輯的風險。

6. 為保留宏的功能並避免丟失設置,請將工作簿保存為啟用宏的文件。
A. 在Excel2013或更高版本中:點擊 文件 > 保存 (或 另存為) > 電腦 > 瀏覽.
B. 在Excel2007或2010中:點擊 文件 菜單或 Office按鈕; 然後選擇 保存 (或 另存為).

7. 在“另存為”對話框中,請:

save the file as Excel Macro-Enabled Workbook format

(1) 在 文件名 框中選擇文件名。
(2) 在 保存類型 下拉列表中選擇 Excel 启用宏的工作簿 (*.xlsm) .
(3) 決定文件的存儲位置。
(4) 點擊 保存 完成。

完成此設置後,每次打開發票工作簿時,發票號碼都會自動增加1。請務必在完成時始終保存工作簿,以保持正確的順序並防止號碼重疊或重置。此方法最適合單一工作簿使用;對於跨多個文件或多用戶操作,請考慮以下替代方法。

故障排除:如果出現宏安全警告,請檢查Excel的信任中心設置以允許宏。如果發票號碼沒有按預期遞增,請確保代碼位於正確的位置並且引用單元格匹配。


使用KTE的插入序列號功能添加發票號碼

雖然上述VBA方法在專用工作簿內運作良好,但在需要跨不同文件生成唯一且連續的發票號碼或與同事共享該過程時可能會受到限制。為了獲得更大的靈活性和易用性,請考慮使用Kutools for Excel的插入序列號功能。這種方法可以在多個工作簿之間無縫運作,即使您忘記在關閉前保存文件,也能避免號碼重疊——這是基本VBA解決方案的一個常見缺陷。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 點擊您希望顯示發票號碼的單元格,然後轉到 Kutools > 插入 > 插入序列號.
clcik this Insert Sequence Number feature and set the options

2. 在“插入序列號”對話框中,點擊 新建, 然後自定義序列以滿足您的需求如下(參考上圖):
(1) 在 序列名稱中輸入名稱,例如 發票號碼.
(2) 設置 增量1 以確保號碼是連續的。
(3) 可選地在 前綴(可選) 字段中添加您的公司名稱或首選文本。
(4) 在 100001中輸入所需的起始號碼,例如 起始號碼.
(5) 在 數字位數 中指定數字位數(例如, 6 用於000001格式)。
(6) 點擊 添加 以保存新序列供以後使用。

提示:您可以設置後綴、調整數字寬度,甚至為不同類型的發票或文檔創建幾種不同的編號方案。

3. 通過突出顯示自定義序列,點擊 填滿範圍 以直接插入下一個唯一的號碼到您選擇的單元格中,然後點擊 關閉.
click the Fill Range to fill the numbers to cells
無論您在哪個工作簿中工作,使用 插入序列號 功能將始終在序列中插入下一個唯一的號碼——無需手動記錄。這大大降低了錯誤或重複的機會,特別是對於團隊或頻繁數據輸入。您可以在此處了解更多關於此功能的信息。 這裡.

其他優勢包括密碼保護序列設置以及能夠為各種文檔類型或部門預定義可重用格式。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取


使用Excel公式自動生成發票號碼

對於不需要宏或外掛的簡單發票編號,Excel公式提供了一種快速生成順序發票號碼的方法。這最適合於需要簡單一次性發票號碼列表的表格或日誌,而不是會話之間的持續自動遞增。

1. 點擊您希望第一個發票號碼出現的單元格(例如A2),然後輸入以下公式以從10000開始的序列:

=10000 + ROW()-2

2. 按Enter鍵。單元格將顯示第2行的10000。要生成下一個號碼,向下拖動填充柄。每行隨後增加1,因此下一個發票將是10001,然後是10002,依此類推。

參數解釋:將10000替換為您想要的起始號碼。根據起始行調整ROW()-2;例如,如果從第5行開始,則使用ROW()-5

實用提示:對於更自定義的發票號碼,嘗試結合日期或前綴,例如:

="INV"&TEXT(TODAY(),"YYMMDD")&TEXT(ROW()-1,"000")

這將輸出像INV240614001,INV240614002等這樣的發票號碼。根據您的結構進行調整。

注意:此方法非常適合一次性生成一批順序號碼用於打印或導出,但不會在重新打開文件時自動遞增。


演示:使用KTE的插入序列號功能添加發票號碼

 

 

在多個工作簿中插入唯一且連續的發票號碼

在大多數情況下,基於工作表的公式或簡單方法只能在單個工作表或工作簿中生成發票號碼。如果您需要管理幾個項目、部門或用戶在不同工作簿中的發票,您可能會發現很難同步序列並避免重複。 插入序列號 Kutools for Excel的功能就是為這種情況設計的,使得在多個文件中以及為多位用戶輕鬆插入唯一且連續的發票號碼成為可能。這集中了您的編號邏輯,並進一步降低了複雜協作工作流中的風險。


insert sequence invoice number by kutools


最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!