上周,我發了關于Excel VBA的第一篇文章後,社群裡就砸開了鍋
看到辣麼多小夥伴們,辣麼喜歡,我的幹勁兒就更足了。
于是,我準備把Excel VBA寫成一個系列免費教程,撸完這個系列你也是VBA界的黑山老妖了。
今天是這個系列的第2篇,我們用「如何利用VBA加減乘除運算」的例子,幫助大家了解VBA的一些基礎概念。
基礎很重要,正所謂“基礎不牢,地動山搖”。好了,閑話不多說,直接上硬菜(大家看圖自己跟着實操)
1. 準備案例
(1)建立一個Excel工作簿,随意命名
(2)單元格A4輸入「10」,單元格B4輸入「+」,單元格C4輸入「8」,單元格D4輸入「=」
2. 如何計算上述運算,并寫入單元格E4裡?
(1)青銅小白-符号運算
(2)鉑金老鳥-公式運算
(3)王者大牛-代碼運算
有經驗的同學,看到這裡,肯定嘴角上揚45度,“我用公式就能輕松實作,何必用VBA呢?”
不錯,用公式确實能夠實作上述案例的結果,但是,VBA擁有公式無可比拟的優越性:
第一,公式無法使用「按鈕控件」;
第二,日常的工作場景一般會涉及加減乘除等綜合運算,如果我們使用公式就會格外的複雜而難以控制。
按鈕控件:大家可以将其類比我們常見的“儲存”、 “預覽” 、“确定”等按鈕,當然了還有需要輸入文本的“文本框”、“下拉清單”、“複選框”等
3. 那VBA如何操作呢?
(1)點選「開發工具」-「插入」-「按鈕(窗體控件)」
(2)滑鼠變為「黑色+号」,按住滑鼠「左鍵」,向右拖動
(3)松開,自動彈出一個視窗
指定宏:是指按下某個按鈕,運作哪一段VBA小程式
宏(Macro):簡單了解就是一段用VBA編寫的小程式
(4)修改宏名「加減法」,點選「建立」
(5)自動彈出界面,進入了VBA代碼編輯器
上次介紹了什麼是VBA以後,我們知道多數代碼放置在标準代碼「子產品」中。剛剛的操作自動在左邊的「工程」視窗插入「子產品1」,而右邊是「子產品1」的代碼區域
(6)系統自建的代碼解釋
sub和End sub:VBA系統保留字,具有特殊含義。
大白話就是“看到這些單詞系統就去執行指定的動作”,比如:sub代表一個程式的開始,End sub代表該程式的結束。
做減法:這段小程式的名字。
要點注意:
a. sub和小程式之間有1個空格,切記别忘了
b. 程式名稱盡量采用英文
c. 1對圓括号為輸入法「英文模式下」的輸入内容
(7)題目分析
我們将題目翻譯為白話就是:計算「單元格A4」和「單元格C4」的和,将結果寫入「單元格E4」中
(8)開始寫代碼
我們按照正常的思考思路,在代碼塊區域輸入“單元格E4 等于 單元格 A4 加上 單元格C4”,按下鍵盤「Enter」,發現立刻報錯,我們看到:
a. 彈窗提示「編譯錯誤」
b. 出錯的内容自動變為紅色
c. 以「藍色」模糊定位到出錯的位置
出錯的主要原因是我們采用了“人類語言”,而不是計算機能夠識别的語言,Excel隻能識别VBA的文法。
那麼,VBA文法是什麼呢?别急,接着往下看~
(9)題目過渡
既然,我們知道怎樣等價變換「加号」和「等号」,那麼關于「單元格」就必須要引入一個重要的概念【cells屬性】
(10)Cells屬性
要點注意]:
a. Cells屬性中是先行後列的次序,别颠倒了;
b. 字母的數字代表在26個英文字母中的位置,比如:A=1,B=2,C=3.....以此類推.
(11)書寫代碼
我們輸入“Cells(4, 4) = Cells(4, 1) + Cells(4, 3)”,發現程式沒有報錯,然後删除上方錯誤的代碼
(12)儲存代碼
點選右上方「儲存」,VBA彈窗出現提示,我們點選「否」,在「儲存類型」中選擇「Excel啟用宏的工作簿(*.xlsm)」
要點注意:
a.檔案報錯為「.xlsm」,而不是「.xlsx」
(13)點選「按鈕1」,我們就可以檢視結果
(14)滑鼠右鍵 「編輯文字」,然後将「按鈕1」變為「檢視結果」
4. 總結
好了,最後,畫一下知識點。
(1)什麼是宏?
一段用VBA編寫的小程式。
(2)宏的結構
(3)cells屬性以及cells操作Excel單元格
(4)如何在Excel放置按鈕,并關聯宏
通過5步實作:
點選「開發工具」-「插入」-「按鈕(窗體控件)」--->
滑鼠變為「黑色+号」,按住滑鼠「左鍵」,向右拖動 --->
松開,自動彈出一個視窗 --->
修改宏名「加減法」,點選「建立」
---> 編輯代碼即可
要點注意:
在案例Excel檔案中,附贈有日常工作中常用的「指定區域英文首字母自動轉換為大寫」小程式,大家可以直接拿去用,也可以分析一下那個代碼。
最後,留個課後小練習:如何在Excel中其做他運算,并且各種運算符号能夠随着按鈕自動變換呢?