VBA自動化:ChatGPT使用攻略必學2大技巧

VBA自動化只要能借助聰明的AI助理,一切變得簡單了。本文帶你上手ChatGPT使用攻略,介紹必學2大技巧,教你如何提問使用AI所提供的程式碼,成為VBA達人。

一、Excel錄製巨集

範例是簡單的銷貨毛利明細表,結構固定,也許是系統導出來的報表或者是拿到別人所給的資料。格式沒有經過整理,尤其是其中的銷貨數量、銷貨金額、銷貨毛利的數字部分,希望把這些範圍進行格式調整。而且每次都要做相同的重複性操作,像這種狀況很適合錄製巨集,把這個過程錄製下來,下次就可以自動播放。

假設已經參考贊贊小屋先前文章ChatGPT指令生成器設定好了開發環境,可以在上方功能區的「開發人員」選擇「程式碼」中的「錄製巨集」,按下之後原本按鈕應該會變成是正在錄音的圖標,並且呈現「停止錄製」的文字,表示正在錄製中。這時候再進行一次重複N遍的格式調整,也許是快速鍵Ctrl+1叫出「設定儲存格格式」的視窗,如同截圖所示調整,設定為千分位、負數紅字、小數位數是2,或者取到0是整數。

操作完了之後,再點一下原本錄製巨集的按鈕就就會結束錄製。

一、Excel錄製巨集

二、VBA編輯器介面

快捷鍵Alt+F11進入VBA編輯器,它是Excel和自動化程式之間的橋樑,或者說是維護介面。上個步驟錄製好巨集,這裡會自動地將Excel操作的原始碼寫成VBA程式,包括所設定的名稱、摘要、快速鍵。

不僅如此,編輯器還是一個井然有序的專案總管,右上角可以看到有個「專案-VBAProject」視窗,它是從比較後端的角度全盤管理著Excel資源(在程式裡面可以稱之為物件),用樹狀資料夾分成兩大部分,一個是熟悉的Excel檔案(ThisWorkbook)跟工作表,另一個資料夾是存放VBA文件的「模組」。

模組中有剛才錄製巨集自動產生的程式碼,它會像放在類似Word文件的地方,也就是這裡的「Module1」,然後每個小程式都是一個「Sub」,而且是「Sub 格式調整()」,中間是一行一行的程式碼,最後一行這裡截圖看不到,不過會是「End Sub」,表示程式到此結束,如此就是第一個VPA自動化小程式,贊贊小屋Excel ERP系統就是在這個地方設計出來的。。

二、VBA編輯器介面

三、ChatGPT提問

錄製巨集是贊贊小屋用過覺得Excel最強大的指令,其強大在於不管你操作什麼,它都會幫忙翻譯成機器語言,也就是剛才看到的VBA程式碼,這麼做的好處你可以跟點按鈕一下執行這個程式,一鍵播放複合指令,把你的操作再做一遍,達到自動化效率提昇的效果。

如今進入ChatGPT怎麼用的時代,已經有另外一種跟Excel錄製巨集同樣類似的超能力,把想要進行的操作一五一十簡單扼要地提問給AI,贊贊小屋在此的版本是:

Excel的D2到F8範圍,想要設定儲存格格式為仟分位整數,負數以紅字括號顯示,靠右對齊,字型是微軟正黑體,該如何設計VBA程式?

也許有更好的提問版本,但是白貓黑貓,會抓老鼠的就是好貓,這樣問那樣問,能得到結果就是好的。從最終結果而言,贊贊小屋目的達到了。

ChatGPT在收到提問之後,首先陳述了一遍任務內容,分成四個項目,等於是事先溝通好我想要做的事,跟它即將要做的事,這部分沒有問題。再檢視實際提供的程式碼,屬於贊贊小屋偏好風格,乾淨利落簡潔扼要,不會像Excel巨集是一長串有點囉嗦很多沒必要的程式碼。另外在右上角有個佛心「複製」按鈕,可以很方便把萬能VBA助理的程式複製到電腦剪貼簿中。

三、ChatGPT提問

四、AI使用說明書

貼心的AI助理不但幫忙設計好了程式碼,還會類似VBA課程同樣附贈了一份使用說明書,分成五個步驟,按照這些步驟就可以在Excel使用它提供的VBA程式碼,而且依照我們對於ChatGPT的專業信任,通常是可以執行想要的自動化程式操作,不過最後當然還是要實際測試看看。

VBA自動化:ChatGPT使用攻略必學2大技巧

五、程式代碼複製

有了把ChatGPT AI的使用說明書,回到VBA編輯器實際操作。

首先在編輯器上方是一條工具列,雖然不像現在的Excel上方功能區那樣有圖示標示,但其實作用差不多,每個類別選項點一下會有下拉清單,顯示關於這個類別的相關指令,其實Excel早期版本的上方功能區就是長這樣,只有一行工具列。

在這裡點選「插入」,出現五個選項,其中第三個是這裡要操作的新增「模組」,先前第二步驟是Excel巨集自動新增的「Module1」,而在這裡插入模組之後就會在「模組」資料夾多了一個「Module2」,右邊的編輯畫面就是「Module2」的內容,如同Word文件一樣,可以簡單把先前第三步驟已經複製到剪貼簿的程式碼,在此以快捷鍵Ctrl+V貼上,或者是滑鼠右鍵點選貼上,其實也就跟Word剪貼相同操作,就可以把ChatGPT程式碼搬到自己新增的模組「Module2」程式文件中了。

附帶補充,其實VBA執行程式是以Sub程序作為單位,所以這裡也可以直接把ChatGPT的程式貼到Module1,不一定要新增模組,但如果像贊贊小屋設計公司記帳軟體那樣是比較大的專案,分成許多模組會是比較好的文件管理。

五、程式代碼複製

六、檢視執行巨集

直接按右上角的叉叉,關閉VBA編輯器,回到Excel。

同樣是在上方功能區「開發人員」中的「程式碼」中,有個「巨集」按鈕圖標,點一下會出現檢視「巨集」視窗,而且很神奇的是,視窗裡面可以看到錄製巨集跟ChatGPT寫好的兩個小程序。

如何執行VBA程式呢?這裡的「巨集」就是很簡單的操作面板,選擇利用ChatGPT問題範例幫忙寫好的「FormatRangeD2toF8」,然後再按下「執行」。

六、檢視執行巨集

七、Excel的2大法寶

噹噹噹,更加神奇的事情發生了,假設先前從沒寫過程式,簡單應用ChatGPT提問技巧,AI幫我完成了人生中的第一座小程序,而且是工作上迫切需要的Excel VBA自動化。

本來要一再重複操作的流程,可能有三四個步驟,現在只要一個按鈕一鍵完成,因為已經有兩個法寶了,一是Excel錄製巨集,另外一個是ChatGPT助理,從此以後在公司裡面橫著走,不但是Excel達人,還是VBA高手。

七、Excel的2大法寶

VBA自動化基本攻略

本文主要透過巨集跟ChatGPT大致瞭解VBA中最底層的Sub結構,還有它在編輯器中的模組框架,在兩個基礎上,已經能夠好好善用AI進行VBA自動化了,等於是一個小小的ChatGPT使用攻略

內文提到VBA是依照Sub開頭從上到下一行一行執行程式,但也有例外情形,最常見的是所有程式語言都會有的註解。即使程式是我自己寫的自己用的,設計的時候可能沒辦法一次寫完,或者是程式碼很多,會希望可以在文件中適當加入類似筆記一樣的註解,幫助我快速瀏覽理解程式文件。

又或者我的程式會提供給別人,也許是教學,也許是團隊一起完成大專案,如果適當加入註解,會讓分享和協作更加容易。

實際上的做法很簡單,就跟Excel輸入公式或者輸入日期的時候一樣,前面加上一撇(英文單引號)就變成是單純文字。有了這個理解之後,再仔細去看錄製巨集和ChatGPT設計的程式文件,裡面其實就有註解了,而且就是前面加了一撇,讀者可以回去再看看文章截圖。


歡迎報名贊贊小屋ChatGPT課程

ChatGPT課程:職場工作者必須掌握第1名熱門工具

最新文章: