VBA for Excel 基礎(chǔ)

今天溫習(xí)了一下VBA的基礎(chǔ),許久不用,撿起來還真是非常生疏,VBA是Visual Basic的一種宏語言,其實(shí)就是一中面向?qū)ο蟮木幊陶Z言,學(xué)過C的同學(xué)可以非常容易的入門。

VBA可以非常高效的處理大批量數(shù)據(jù),而且是“一勞永逸”。比如你要做公司年度銷售情況的匯總分析表,可能有數(shù)百張表,每張表又有數(shù)百條信息,人工去做不僅低效而且容易出錯,而編寫VBA程序則可以在數(shù)分鐘之內(nèi)全部處理完,當(dāng)然你編寫程序可能需要一天的時間,但是這個時間相信已經(jīng)是大大減少了,而且一次編寫完成以后只要公司銷售表格不變更,就可以一直用下去。

VBA簡單實(shí)用,無論是寫沒寫過代碼的人都可以輕松掌握,對于產(chǎn)品經(jīng)理來說,熟悉使用VBA對鍛煉自己的數(shù)據(jù)分析能力也很有幫助,本文就介紹一下VBA的入門基礎(chǔ)知識(以excel2010為例),想要深入學(xué)習(xí)VBA的話,個人推薦網(wǎng)易云課堂的楊老師的“全民一起VBA”,課程非常有趣,感覺楊老師轉(zhuǎn)行段子手也大有發(fā)展(掩面)。

啟用宏,并打開宏編輯器

打開excel 選擇文件-->選項(xiàng),找到自定義功能區(qū)把開發(fā)工具勾中


然后就會發(fā)現(xiàn)導(dǎo)航欄多了一個欄目:開發(fā)者工具


找到宏安全性,選擇啟用宏


然后excel就可以執(zhí)行宏代碼了,點(diǎn)擊Visual Basic進(jìn)入VBA代碼編輯模塊


注意這里編輯完代碼之后,excel保存的格式要變更為xlsm,而不是xlsx,不然的話宏代碼就不能被保存了,辛辛苦苦寫的代碼也就沒了。

到這里,我們就可以正式編寫宏代碼了

示例

我寫了一段特別簡單的代碼作為示例展示一下,代碼的主要功能是把全校各個班級的成績表匯總到一張表格,并計(jì)算總分。



下面解釋一下,首先添加控件,非常簡單,拖入表格即可


然后將拖入的按鈕關(guān)聯(lián)到一個宏



一般是新建一個宏,宏名隨意,建議英文,這樣不同環(huán)境下的程序才都可以執(zhí)行

代碼解釋

Sub 宏名()

????代碼塊

end sub

以上的形式為一個宏,代碼塊填寫你要執(zhí)行的邏輯

單元格

Cells(i,j)代表第i行第j列的單元格

Range(“A7”)代表A7單元格

變量聲明

Dim 變量名

VBA變量允許不聲明使用,但是不聲明會帶來很多不必要的麻煩,比如你代碼塊中寫錯一個變量名,系統(tǒng)會認(rèn)為你這是在使用一個新的變量,從而不會報(bào)錯,注意使用Dim的時候需要在代碼區(qū)首行添加“Option Explicit”

運(yùn)算符

“=”是賦值或是判斷語句中判斷相等的含義

“+”加法,“-”減法,“/”除法,“*”乘法

“&”字符串連接


上述代碼就是計(jì)算第一行一列的單元格中的數(shù)值和第一行第二列單元格的數(shù)值相加,把結(jié)果顯示在第一行第三個單元格里

邏輯判斷符

”>“大于,“<”小于,“>=”大于等于,“<=”小于等于,“<>”不等于

循環(huán)語句

For 變量 = 數(shù)值1 to 數(shù)值2 step 數(shù)值3

Next

含義:變量從數(shù)值1開始變化,每次變化幅度為數(shù)值3,知道變化為數(shù)值2跳出循環(huán)

Do while 判定邏輯

? ??代碼塊

Loop

含義:判定邏輯為正則循環(huán)執(zhí)行代碼塊,直到邏輯判斷為負(fù),注意這里容易進(jìn)入死循環(huán),一定要檢查代碼塊中的代碼是否能使判定邏輯變負(fù)從而跳出循環(huán)

函數(shù)

Function 方法名(參數(shù)1,參數(shù)2,.......)

? ? 代碼塊

? ? 方法名=返回值

End Function

函數(shù)使用規(guī)則與C語言中類似,只不過返回值不用retrun,而是用 方法名=要返回的值。

先醬紫,關(guān)于VBA歡迎與我交流,共同進(jìn)步。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 VBA是什么 直到90年代早期,使應(yīng)用程序自動化還是充滿挑戰(zhàn)性的領(lǐng)域.對每個需要自動化的應(yīng)用程序,人們不得...
    浮浮塵塵閱讀 22,136評論 6 49
  • 我們在Excel中整理、分析和處理數(shù)據(jù)時,都是圍繞單元格進(jìn)行大多數(shù)操作,因此Range對象是Excel VBA中最...
    完美Excel閱讀 7,757評論 1 12
  • 自從2014年開通[完美Excel]微信公眾號以來,堅(jiān)持分享已經(jīng)學(xué)習(xí)到的Excel和VBA知識和心得,目前已分享文...
    完美Excel閱讀 8,451評論 6 69
  • 一陣遼遠(yuǎn)的鐘聲 輕輕掠過我的心上 響吧,秋天的短歌 遠(yuǎn)遠(yuǎn)地,遠(yuǎn)遠(yuǎn)地 一直響到 漫山紅遍的山谷 當(dāng)你見到一支海棠 就...
    西川錦閱讀 194評論 0 1
  • 如來 你今何在 那一戰(zhàn)我不認(rèn)敗 紫金玉鎧尚還在 誰的掌中寫無奈 是誰在戴這金箍 臉上寫了一句輸 手持鐵棒的匹夫 怎...
    Kkk灬荀文若閱讀 641評論 1 1

友情鏈接更多精彩內(nèi)容