怎麽用Excel VBA實現”複製貼上“(下),鑫大叔Excel VBA第二期
🔷 介紹 🔷
沒看上一期的可能不清楚VBA是什麽,簡單來説是一種主要用於Microsoft Office的編程語言,適合沒學過編程的人用(因爲容易)。這裏主要討論Excel用的VBA。更多介紹請去看第一期。
🔷 VBA循環結構 🔷
循環結構就是用來重複執行同一段代碼,重複次數通過特定條件控制。
VBA主要有三種循環結構,分別爲For、While和Loop,每種又有幾種小變化,剛開始會一種就夠用了。這次範例用While ... Wend。
範例代碼如下:
Sub Macro2() r = 0 c = 2 While r < 100 r = r + 1 Sheets("B").Cells(r, c) = r Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c) Wend End Sub
🔷 VBA代碼解説(範例1)🔷
❇️ 變數
r = 0 c = 2
- 這裏“r”和“c“是變數,我們這裏定義他們一個等於數字0,一個等於數字2
- 變數(Variable):程式在處理資料的時候常常會用到變數,主要用來暫存資料,變數代表的數據會經常變動,故名“變數”。
- 變數命名規則:第一個字必須是英文字母或中文字,之後可以隨意使用中文、英文、數字、或底線符號(“_”),簡單來說就是,如果跑程式出錯,改就是了。
❇️ While ... Wend
While r < 100 Wend
- 上面提到的While ... Wend用法之一,”r < 100“就是它的循環條件。用人話來説就是只要r小於100,這個宏就會一直重複的從While跑到Wend,當然也會執行在它們之間的代碼,直到你受不了强制關掉爲止。
❇️ 算數運算子中的加法
r = r + 1
- 不知道你還記得小時候學的加減乘除嗎?啥,你忘記了?慢走不送!!!別打我,開個玩笑而已…… 我們前面定義r=0,所以r+1就是1,下一次再加1就是2。
- 好吧,那這行有啥用處呢?還記得上面提到的While ...... Wend嗎?只要r小於100就會一直循環,所以爲了不讓他循環天荒地老,我們每循環一次就給r加1,這樣循環99次r就會等於100,循環就會因爲不符合條件停止。
- 算數運算子(Operator)都有哪些:加法(+)、減法(-)、乘法(*)、除法(/)、整數除法(\)、餘數(Mod)、次方(^)。後續會講解有用到的部分。
❇️ 工作表、存儲格的應用
Sheets("B").Cells(r, c) = r Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c)
- 這兩行是在上一期的的基礎上修改,差別只在於r和c。所以在開始While ... Wend之前,r是1,c是2。
- 因為這兩行是放在While ... Wend之間,所以變數r因為前一行的r=r+1一直改變,因此第1行“Sheets("B").Cells(r, c) = r”代表:工作表B的C列從第1行到99行,每行都會填上與行數相對應的數字。
- 第2行“Sheets("C").Cells(r, c + 1) = Sheets("B").Cells(r, c)”代表:工作表C會複製工作表B的內容,只不過工作表B在B列的內容會被複製到工作表C的C列。
- 可能有點混亂,但只要實際跑一遍就會理解了
🔷 本期範例下載 🔷
點我下載,檔案打開後注意下是不是有下圖的警告,這是要使用者確認這個巨集是否可信,以免執行了有問題的巨集。點擊“啟用內容”就可以正常使用了。
🔷 在功能區加入開發人員標籤 🔷
這個標籤不是必須,但是有了方便很多。例如可以錄製巨集,也不用一定要用快捷鍵(alt + F11)開啟VB編輯器了。
❇️ 整個開啟流程:
- 檔案 >> 其他... >> 選項 >> 自訂功能區 >> 勾選 開發人員
❇️ 第一步,看看你的Excel是不是已經有“開發人員”標籤了,有可以跳過這個小單元,沒有就點“檔案”。
❇️ 第二步,點擊“其他” >> “選項”,開啟Excel選項。
❇️ 第三步,點擊“自訂功能區”,勾選”開發人員“,再點“確定”,大功告成。
🔷 開發人員標籤下有哪些常用的功能?🔷
- Visual Basic:開啟VB編輯器,和快速鍵(Alt + F11)一樣效果
- 巨集:叫出巨集對話框,做進一步的設定,後續會繼續介紹這個功能。
- 錄製巨集:編程好幫手,用它錄出來的程式碼不好用,卻是極好的範本,修改一下就能直接套用到你的巨集裡。個人覺得這個功能在學習VBA初期,除了讓你覺得好玩,用處不大,所以等後續才解說如何使用和如何修改錄製出來的程式碼。
- 巨集安全性:上期提到每次打開帶有巨集的檔案都會有如下圖的警告,這是因為Excel初始安全設定,如果不想要每次都要多點一下“啟用內容”,就需要在這裡修改安全性。
🔷 如何讓你不用每次開啟帶有巨集的Excel都要點“啟用內容” 🔷
❇️ 第一步,在“開發人員”標籤下點擊“巨集安全性”叫出巨集設定對話框。
❇️ 第二步,選擇“啟用所有巨集”,並點擊“確定”。
🔷 下期預告 🔷
- 目前有人要求資料庫中提取數據,待我進一步了解需求再來準備~