一VBA基礎(chǔ)
1、VBA基本概念。VBA是一種程序開發(fā)語言;VBA是VB的簡(jiǎn)略版,與VB有相同的開發(fā)環(huán)境和語法規(guī)則;但它不能生成可獨(dú)立運(yùn)行的程序文件;寄生于宿主應(yīng)用程序(如Office、AutoCAD等)中;不能離開所屬應(yīng)用程序而獨(dú)立生存或運(yùn)行;VBA主要用于宿主應(yīng)用程序功能的擴(kuò)展和數(shù)據(jù)處理的自動(dòng)化;
2、VBA開發(fā)工具。VBE是VBA程序的開發(fā)工具。點(diǎn)擊“開發(fā)工具→Visual Basic”即打開了VBA開發(fā)環(huán)境。
如果“開發(fā)工具”選項(xiàng)卡未顯示可執(zhí)行“文件→選項(xiàng)→自定義功能區(qū)→主選卡中選中開發(fā)工具”操作。
3、過程與模塊。VBA代碼必須寫在過程或函數(shù)內(nèi),而過程或函數(shù)必須存放在模塊內(nèi),也就是說模塊是過程的集合,過程是代碼的集合。添加模塊的方法是:“插入→模塊”,再在模塊內(nèi)添加過程。
4、宏。宏是VBA代碼的集合,是操作Excel時(shí)錄制的代碼,屬于過程。宏的主要作用第1是將對(duì)Excel的操作用代碼的方式記錄下來并存儲(chǔ)為過程,再運(yùn)行該過程就可自動(dòng)地運(yùn)行所錄制的全部操作,第2是在編程中減少代碼書寫量并通過宏錄制了解各對(duì)象的屬性和方法。
5、VBA的三種工作模式。設(shè)計(jì)模式、運(yùn)行模式、中斷模式。
6、普通Excel文檔的擴(kuò)展名為:xlsx,而帶宏的Excel文檔的擴(kuò)展名為:xlsm。
二語言基礎(chǔ)
1、數(shù)據(jù)類型。任何一門高級(jí)語言都規(guī)定了在程序中可以使用的數(shù)據(jù)類型。VBA不也例外。
名稱 | 數(shù)據(jù)類型 | 存儲(chǔ)空間(B) |
字節(jié) | Byte | 1 |
整型 | Integer | 2 |
長整型 | Long | 4 |
單精度 | Single | 4 |
雙精度 | Double | 8 |
字符串 | String | 字符串長 |
日期時(shí)間 | Date | 8 |
布爾 | Boolean | 2 |
對(duì)象 | Object | 4 |
2、常量與變量
常量:在程序中始終不變的量。
變量:在程序中可能變化的量。變量一般情況下要先聲明后使用
dim x as integer
dim y as Boolean
dim d as date
dim s as string
變量的賦值:x=3
y=true
d=#2017-8-19#
s=”abc”
3、對(duì)象
對(duì)象是具有特殊屬性和行為的實(shí)體。如工作簿,工作表,單元格,圖片,形狀,窗體,控件等都是對(duì)象。
如:Excel應(yīng)用程序?qū)ο螅?/span>Application
工作簿對(duì)象:workbooks(1) ‘第1個(gè)工作簿
工作表對(duì)象:worsheets(“sheet1”) ‘sheet1工作表
單元格對(duì)象:range(“A1”) ‘A1單元格
Application.Workbooks('book1').Worksheets('sh').Range('A1').Value
對(duì)象具有屬性、方法和事件。屬性是對(duì)象的特征參數(shù),方法是預(yù)先定義好的一段程序由用戶在程序中調(diào)用,事件是程序運(yùn)行時(shí)用戶對(duì)對(duì)象進(jìn)行某個(gè)操作時(shí)自動(dòng)觸發(fā)的過程。
4、運(yùn)算符與表達(dá)式
算術(shù)運(yùn)算符: 、-、*、/、\()、、、、、
字符運(yùn)算符:&、
日期運(yùn)算符: 、-
比較運(yùn)算符:<、<=、>、>=、=、<>
邏輯運(yùn)算符:and、or、not
三基本語句
1、VBA程序的三種結(jié)構(gòu)
順序結(jié)構(gòu):按書寫順序執(zhí)行
分支結(jié)構(gòu):有選擇的選擇
循環(huán)結(jié)構(gòu):語句重復(fù)執(zhí)行
2、賦值語句
X=3
3、分支語句
單分支:if條件then
雙分支:If 條件 then 語句塊 else 語句塊
或?qū)懗扇缦赂袷剑?/span>
If條件then
語句塊
Else
語句塊
End if
多分支:select case 測(cè)試表達(dá)式
Case 值1
語句塊
Case else
語句塊
End select
4、do循環(huán)
Do while 條件
語句塊
[exit do]
語句塊
loop
5、for循環(huán)
For 循環(huán)變量初值 to 終值 [step 步距]
語句塊
[exit for]
語句塊
Next
6、for each循環(huán)
For each 變量 in 表達(dá)式
語句塊
[exit for]
語句塊
End for
7、其它語句
暫停語句:stop
結(jié)束語句:end
注釋語句:rem或’
四數(shù)組
數(shù)組是一組名稱相同下標(biāo)不同的變量。數(shù)組使用前必須先聲明再使用。
dim a(10) as integer '聲明下標(biāo)為0-10的11個(gè)元素的數(shù)組
dim b(1 to 100) as integer '聲明下標(biāo)為1-100共100個(gè)元素的數(shù)組
a(0)=1
b(1)=2
另外數(shù)組還有多維數(shù)組,動(dòng)態(tài)數(shù)組(即聲明后修改數(shù)組的大?。?。
五常用函數(shù)
VBA提供了許多函數(shù),使用戶在程序?qū)崿F(xiàn)各自的功能。常用函數(shù)如下。
算術(shù)函數(shù):abs()、rnd()、round()、sqr()等。
字符函數(shù):instr()、lcase()、ucase()、len()、left()、right()、mid()、trim()、replace()等。
日期時(shí)間函數(shù):year()、month()、day()、now()、date()、time()、weekday()、datediff()等。
轉(zhuǎn)換函數(shù):asc()、chr()、iif()、str()、val()、switch()等。
交互函數(shù):niputbox()、msgbox()等。
數(shù)組函數(shù):array()、ubound()等。
六自定義過程與函數(shù)
用戶自己編制的實(shí)現(xiàn)特定功能的過程或函數(shù)。過程與函數(shù)都是VBA代碼的集合,它們都能實(shí)現(xiàn)一定的功能。區(qū)別是:過程不返回值,函數(shù)返回值。
過程的基本結(jié)構(gòu):
Sub 過程名(參數(shù))
過程體
End Sub
函數(shù)的基本結(jié)構(gòu):
Function 函數(shù)名(參數(shù))
函數(shù)體
Return 返回值
End Function
其中:參數(shù)可有可無,數(shù)量也可多可少,由程序需要決定。過程體和函數(shù)體由若干語句組成。過程可以通過F5鍵立即運(yùn)行或F8鍵分步運(yùn)行。
聯(lián)系客服