第一步:點擊錄制宏
第二步:填寫宏的方法名
第三步:進行一系列的操作之后,關閉宏
第四步:根據自己的需要查看,修改宏
第六步:保存,一般是另存為,后綴名為.xlsm,否則宏語言不能保存。
到此為止恭喜你一個簡單的宏已經制作成功,當然宏也可以調用Excel中的公式,例如:sum等,排序,布局,查詢,等。
Excel中常用對象的簡單介紹:
對象名 |
含義 |
Application |
代表整個 Excel 應用程序。 |
Window |
代表窗口 |
Worksheet |
代表一個工作表 |
Sheets |
指定的或活動工作簿中所有工作表的集合 |
ShapeRange |
代表形狀區域,它是文檔中的一組形狀 |
PivotTable |
代表工作表上的數據透視表 |
Workbook |
代表一個 Excel 工作簿 |
Shape |
代表繪圖層中的對象,例如自選圖形、任意多邊形、OLE 對象或圖片 |
Range |
代表某一單元格、某一行、某一列、某一選定區域,或者某一三維區域 |
Name |
代表單元格區域的定義名。名稱可以是內置名稱(如Print_Area)或自定義名稱 |
Chart |
代表工作簿中的圖表 |
FileDialog |
提供文件對話框,其功能與 Office 應用程序中標准的“打開”和“保存”對話框類似 |
CommandBarPopup |
代表命令欄上的一個彈出式控件 |
CommandBar |
代表容器應用程序中的一個命令欄 |
workSheet工作薄的方法
名稱 |
說明 |
Add |
新建工作表、圖表或宏表。新建的工作表將成為活動工作表 |
Copy |
將工作表復制到工作簿的另一位置 |
Delete |
刪除對象 |
FillAcrossSheets |
將單元格區域復制到集合中所有其他工作表的同一位置 |
Move |
將工作表移到工作簿中的其他位置 |
PrintOut |
打印對象 |
PrintPreview |
按對象打印后的外觀效果顯示對象的預覽 |
Select |
選擇對象 |
算術運算符
運算符 |
功能 |
^ |
求一個數字的某次方,如 A^B |
* |
乘法運算 |
/ |
除法運算 |
\ |
對兩個數作除法並返回一個整數 |
Mod |
求兩數的余數 |
+ |
加法運算 |
- |
減法運算 |
比較運算符
符號 |
功能 |
< |
小於 |
<= |
小於或等於 |
> |
大於 |
>= |
大於或等於 |
= |
等於 |
<> |
不等於 |
邏輯運算符
符號 |
功能 |
And |
用來對兩個表達式進行邏輯連接 |
Eqv |
用來對兩個表達式進行邏輯等價運算 |
Imp |
用來對兩個表達式進行邏輯蘊涵運算 |
Not |
用來對表達式進行邏輯否定運算 |
Or |
用來對兩個表達式進行邏輯析取運算 |
Xor |
用來對兩個表達式進行邏輯互斥或運算 |
字符串處理函數
作用 |
關鍵字 |
Option Compare |
設置字符串比較規則 |
StrComp |
比較兩個字符串(字符相似判斷) |
StrConv |
字符串類型轉換 |
Lcase、Ucase |
大小寫變換 |
Spase、String |
重復字符串 |
Len |
計算字符串長度 |
Format |
設置字符格式 |
LSet、Rset |
重排字符串 |
InStr、Left、Ltrim、Mid、Right、Rtrim、Trim |
處理字符串 |
Split、Join |
拆分與聯接字符串 |
VBA的數據類型
數據類型 |
存儲空間大小 |
范圍 |
Byte |
1 個字節 |
0 到 255 |
Boolean |
2 個字節 |
True 或 False |
Integer |
2 個字節 |
-32,768 到 32,767 |
Long(長整型) |
4 個字節 |
-2,147,483,648 到 2,147,483,647 |
Single(單精度浮點型) |
4 個字節 |
負數時從 -3.402823E38 到 -1.401298E-45;正數時從 1.401298E-45 到 3.402823E38 |
Double(雙精度浮點型) |
8 個字節 |
負數時從 -1.79769313486231E308 到 |
Currency(變比整型) |
8 個字節 |
從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
Decimal |
14 個字節 |
沒有小數點時為 +/-79,228,162,514,264,337,593,543,950,335,而小數點右邊有 28 位數時為 +/-7.9228162514264337593543950335;最小的非零值為 +/-0.0000000000000000000000000001 |
Date |
8 個字節 |
100 年1月1日到9999年12月31日 |
Object |
4 個字節 |
任何 Object 引用 |
String(變長) |
10 字節加字符串長度 |
0 到大約 20 億 |
String(定長) |
字符串長度 |
1 到大約 65,400 |
Variant(數字) |
16 個字節 |
任何數字值,最大可達 Double 的范圍 |
Variant(字符) |
22 個字節加字符串長度 |
與變長 String 有相同的范圍 |
用戶自定義 |
所有元素所需數目 |
每個元素的范圍與它本身的數據類型的范圍相同。 |
數據類型的轉換
函數 |
返回類型 |
expression 參數范圍 |
CBool |
Boolean |
任何有效的字符串或數值表達式 |
CByte |
Byte |
0 至 255 |
CCur |
Currency |
-922,337,203,685,477.5808 至922,337,203,685,477.5807 |
CDate |
Date |
任何有效的日期表達式 |
CDbl |
Double |
負數從 -1.79769313486231E308 至 -4.94065645841247E-324;正數從 4.94065645841247E-324 至 1.79769313486232E308 |
CDec |
Decimal |
零變比數值,即無小數位數值,為+/-79,228,162,514,264,337,593,543,950,335。對於 28 位小數的數值,范圍則為+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。 |
CInt |
Integer |
-32,768 至 32,767,小數部分四舍五入 |
CLng |
Long |
-2,147,483,648 至 2,147,483,647,小數部分四舍五入 |
CSng |
Single |
負數為 -3.402823E38 至 -1.401298E-45;正數為 1.401298E-45 至 3.402823E38 |
CStr |
String |
依據 expression 參數返回 Cstr |
CVar |
Variant |
若為數值,則范圍與 Double 相同;若不為數值,則范圍與 String 相同 |
方法參數介紹
部分 |
功能詳解 |
Optional |
可選的。表示參數不是必需的關鍵字。如果使用了該選項,則 arglist 中的后續參數都必須是可選的,而且必須都使用 Optional 關鍵字聲明。如果使用了 ParamArray,則任何參數都不能使用 Optional |
ByVal |
可選的。表示該參數按值傳遞 |
ByRef |
可選的。表示該參數按地址傳遞。ByRef 是 Visual Basic 的缺省選項 |
ParamArray |
可選的。只用於 arglist 的最后一個參數,指明最后這個參數是一個 Variant 元素的 Optional 數組。使用 ParamArray 關鍵字可以提供任意數目的參數。ParamArray 關鍵字不能與 ByVal,ByRef,或 Optional 一起使用 |
varname |
必需的。代表參數的變量的名稱;遵循標准的變量命名約定 |
type |
可選的。傳遞給該過程的參數的數據類型,如果沒有選擇參數 Optional,則可以指定用戶定義類型,或對象類型 |
defaultvalue |
可選的。任何常數或常數表達式。只對 Optional 參數合法。如果類型為 Object,則顯式的缺省值只能是 Nothing |
簡單宏例子:
Sub 宏1() ' ' 宏1 宏 ' ' Sheets("Sheet2").Select ActiveWindow.SmallScroll Down:=-18 Range("A1").Select ActiveCell.FormulaR1C1 = "第一步:點擊錄制宏" Range("A43").Select ActiveCell.FormulaR1C1 = "第二步:填寫宏的方法名" Range("C45").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=21 Sheets("Sheet1").Select ActiveWindow.SmallScroll Down:=-9 Range("C3").Select End Sub Sub 宏2() ' ' 宏2 宏 ' Range("B14").Select ActiveCell.FormulaR1C1 = "=SUM(R[-13]C:R[-1]C)" End Sub
到此為止VBA的介紹已經完成,VBA中的語法與VB的語法基本上一樣,也許會有版本不懂略有差別。
Excel有數百個對象,表4-1是常見對象名稱其及含義