1.數(shù)據(jù)類型:
字節(jié)型(Byte)保存0~255的整數(shù)
整數(shù)型(Integer)(%)保存 -32768~32767的整數(shù)
長整數(shù)型(Long)(&)保存 -2147483648~2147483647的整數(shù)
單精度浮點型(Single)(A韫 )
雙精度浮點型(Double)(#)
貨幣型(Currency)(@)
小數(shù)型(Decimal)
字符串型(String)($)
日期型(Date)
布爾型(Boolean)保存邏輯判斷的結(jié)果:True或False
2.存儲數(shù)據(jù)的容器:常量和變量
①常量和變量:無論存儲什么類型的數(shù)據(jù)奥额,變量都可以更換內(nèi)容歌径,重復(fù)使用,而常量不可以。
②聲明變量:指定變量的名稱和可以存儲的數(shù)據(jù)類型髓介。Dim 變量名 As 數(shù)據(jù)類型
③聲明多個變量:可以寫在同一個Dim后面龙考,變量名之間用愤炸,隔開,也可以用不同的語句聲明横侦。
④強制聲明所有變量:a.在模塊的第一句手動輸入代碼:“option explicit”枉侧;b.在“工具”選項里將編輯器中代碼設(shè)置的要求變量聲明勾選上榨馁。
⑤別樣是變量聲明(及作用域): Public 變量名 As 數(shù)據(jù)類型? (公共變量翼虫,所有模塊)珍剑;Private 變量名 As 數(shù)據(jù)類型(私有變量or模塊級變量招拙,單個模塊)别凤;Static 變量名 As 數(shù)據(jù)類型(靜態(tài)變量or本地變量领虹,單個過程)塌衰。
⑥把數(shù)量存儲到變量里——給變量賦值:[Let]?變量名稱 = 數(shù)據(jù)? (如果數(shù)據(jù)是文本猾蒂,要用英文雙引號引起來肚菠,如“開心”蚊逢;如果是日期烙荷,則將日期寫在兩個#之間终抽,如d=#2017-5-27#);[Set]?變量名稱 = 對象
3.使用常量:常量通常用來存儲一些固定的、不會被修改的值女蜈,如圓周率、個人所得稅的稅率等覆山。
常量也需要聲明汹买,聲明常量不但要指定常量的名稱及數(shù)據(jù)類型聊倔,還要在聲明的同時給常量賦值晦毙,并且賦值后的常量不能再重新賦值。
①添加模塊 ?Const ?變量名稱 As 數(shù)據(jù)類型 = 數(shù)值
②常量也有作用域 ?參照作用域
4.使用數(shù)組
①數(shù)組特點:1)數(shù)組共享同一個名字耙蔑,即數(shù)組名见妒;2)數(shù)組由多個同種類型的變量組成;3)數(shù)組中的元素按次序存儲在數(shù)組中甸陌,通過索引號進行區(qū)分须揣;4)數(shù)組也是變量。
②聲明數(shù)組 ?Public|Dim ? 數(shù)組名 ?(a to b) ?As 數(shù)據(jù)類型
③給數(shù)組賦值
④聲明多維數(shù)組:Dim arr (a to b,c to d), Dim arr (1 to 3,1 to 20)=Dim arr (2,19) [起始索引號默認為0钱豁,除非在模塊的第一句寫入“Option Base 1”語句耻卡。]
⑤聲明動態(tài)數(shù)組:若不能預(yù)知數(shù)組的大小,可以在首次定義數(shù)組時括號內(nèi)為空牲尺,Dim 數(shù)組名稱 ()卵酪,然后在程序中使用ReDim語句重新指定它的大小。
⑥其他常用的創(chuàng)建數(shù)組的方式:1)使用Array函數(shù)創(chuàng)建數(shù)組谤碳,使用Array函數(shù)創(chuàng)建數(shù)組溃卡,定義變量時,變量類型必須為Variant型蜒简;2)使用Split函數(shù)創(chuàng)建數(shù)組瘸羡,Split函數(shù)把一個文本字符串按照指定的分隔符分開,返回一個一維數(shù)組搓茬,數(shù)組最小索引號是0犹赖;3)通過Range對象直接創(chuàng)建數(shù)組队他。
UBound 和 LBound 函數(shù)? UBound(arr)最大索引號,LBound(arr)最小索引號
Join函數(shù) 將一個一維數(shù)組里的元素使用指定的分隔符連接成一個新的字符串峻村。
⑦將數(shù)組寫入單元格區(qū)域:無論是一維數(shù)組還是二維數(shù)組漱挎,將數(shù)組批量寫入單元格區(qū)域時,單元格區(qū)域的大小必須與數(shù)組的大小一致雀哨。
5.集合、對象私爷、屬性和方法
對象:是用代碼操作和控制的東西雾棺,屬于名詞。
集合:集合也是對象衬浑,是對多個同種類型的對象的統(tǒng)稱捌浩。
取集合里的一個對象“引用對象”:Application.Workbooks("Book1").Worksheets("Sheet2").Range("A2")
不同級別的對象之間用點“.”連接
引用對象就像引用硬盤上的文件,要按從大到小的順序逐層引用工秩。但并不是每一次引用對象都必須嚴謹?shù)貜牡?層開始尸饺。
對象的屬性:每個對象都有屬性。對象的屬性可以理解為該對象包含的內(nèi)容或具有的特點助币。
對象的相對性:對象和屬性是相對的浪听。如果想準確地知道Value(或其他)是方法還是屬性,可以在【代碼窗口】中將光標定到它的中間眉菱,按F1鍵迹栓,查看幫助里的信息。
對象的方法:方法是在對象上執(zhí)行的某個操作俭缓,屬于動詞克伊。
方法和屬性的區(qū)別:屬性返回對象包含的內(nèi)容或具有的特點,方法是對對象的一種操作华坦。
6.算術(shù)運算符? +愿吹、-、*惜姐、/犁跪、\(整除,兩數(shù)相除取商的整數(shù))歹袁、^耘拇、Mod(求模運算,兩數(shù)相除取余數(shù))
7.比較運算符 返回值為Boolean型宇攻,只能為True或False惫叛。=、<逞刷、>嘉涌、<=妻熊、>=、<>仑最、Is(比較兩個對象的引用變量) 扔役、Like(比較兩個字符串是否匹配)
VBA中的通配符:*代替任意多個字符、警医?代替任意的一個字符亿胸、#代替任意的一個數(shù)字
8.連接運算符?
+:可作算術(shù)運算的加運算,也可用于文本連接運算预皇。如果+運算符兩邊的表達式都是文本字符串侈玄,則執(zhí)行連接運算;如果+運算符兩邊的表達式包含數(shù)值吟温,則執(zhí)行算術(shù)運算序仙。
?&:無論運算符左右兩邊是合作類型的數(shù)據(jù),都執(zhí)行連接運算鲁豪。
9.邏輯運算符
And (與)潘悼、Or(或) 、Not(非)爬橡、 Xor(異或) 治唤、Eqv (等價)、Imp(蘊含)
10.運算符優(yōu)先級:括號()→指數(shù)運算(^)→求相反數(shù)(-)→乘除(*,/)→整除(\)→求模(Mod)→加減(+,-)→字符串連接(&,+)→比較運算(=,<>,<,>,<=,>=,Like,Is)→邏輯運算(And糙申,Or肝劲,Not, Xor郭宝,Eqv辞槐,Imp)
11.內(nèi)置函數(shù) ?VBA中所有函數(shù)都可以在幫助里找到