(1) Option Explicit '強(qiáng)制對(duì)模塊內(nèi)所有變量進(jìn)行聲明
(2) Option Base 1 '指定數(shù)組的第一個(gè)下標(biāo)為1
(3) On Error Resume Next '忽略錯(cuò)誤繼續(xù)執(zhí)行VBA代碼,避免出現(xiàn)錯(cuò)誤消息
(4) On Error GoTo 100 '當(dāng)錯(cuò)誤發(fā)生時(shí)跳轉(zhuǎn)到過(guò)程中的某個(gè)位置
(5) On Error GoTo 0 '恢復(fù)正常的錯(cuò)誤提示
(6) Application.DisplayAlerts=False '在程序執(zhí)行過(guò)程中使出現(xiàn)的警告框不顯示
(7) Application.DisplayAlerts=True '在程序執(zhí)行過(guò)程中恢復(fù)顯示警告框
(8) Application.ScreenUpdating=False '關(guān)閉屏幕刷新
(9) Application.ScreenUpdating = True '打開(kāi)屏幕刷新
(10)??Workbooks.Add() '創(chuàng)建一個(gè)新的工作簿
(11)??Workbooks(“book1.xls”).Activate '激活名為book1的工作簿
(12) ThisWorkbook.Save '保存工作簿
(13) ThisWorkbook.close '關(guān)閉當(dāng)前工作簿
(14)??ActiveWorkbook.Sheets.Count '獲取活動(dòng)工作薄中工作表數(shù)
(15)??ActiveWorkbook.name??'返回活動(dòng)工作薄的名稱
(16) ThisWorkbook.Name ‘返回當(dāng)前工作簿名稱
(17) ThisWorkbook.FullName ‘返回當(dāng)前工作簿路徑和名
(18) ActiveSheet.UsedRange.Rows.Count ‘當(dāng)前工作表中已使用的行數(shù)
(19) Rows.Count ‘獲取工作表的行數(shù)(注:考慮兼容性)
(20)??Sheets(Sheet1).Name= “Sum” '將Sheet1命名為Sum
(21)??ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一個(gè)新工作表在第一工作表前
(22)??ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '將當(dāng)前工作表移至工作表的最后
(23)??Worksheets(Array(“sheet1”,”sheet2”)).Select '同時(shí)選擇工作表1和工作表2
(24)??Sheets(“sheet1”).Delete或 Sheets(1).Delete '刪除工作表1
(25)??ActiveSheet.UsedRange.FormatConditions.Delete ‘刪除當(dāng)前工作表中所有的條件格式
(26)??Cells.Hyperlinks.Delete ‘取消當(dāng)前工作表所有超鏈接
(27) ActiveCell.CurrentRegion.Select選擇當(dāng)前活動(dòng)單元格所包含的范圍,等同于快捷鍵Ctrl+A
(28)??Cells.Select ‘選定當(dāng)前工作表的所有單元格
(29)??Range(“A1”).ClearContents '清除活動(dòng)工作表上單元格A1中的內(nèi)容摔敛。Selection.ClearContents '清除選定區(qū)域內(nèi)容桐愉。Range(“A1:D4”).Clear '徹底清除A1至D4單元格區(qū)域的內(nèi)容,包括格式。
(30)??Cells.Clear '清除工作表中所有單元格的內(nèi)容
(31) ActiveCell.Offset(1,0).Select '活動(dòng)單元格下移一行窍侧,同理,可下移一列
(32)??Range(“A1”).Copy Range(“B1”) '復(fù)制單元格A1,粘貼到單元格B1中
(33) Range(“A1:D8”).Copy Range(“F1”) '將單元格區(qū)域復(fù)制到單元格F1開(kāi)始的區(qū)域中
(34) Range(“A1:D8”).Cut Range(“F1”) '剪切單元格區(qū)域A1至D8漓雅,復(fù)制到單元格F1開(kāi)始的區(qū)域中
(35) Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '復(fù)制包含A1的單元格區(qū)域到工作表2中以A1起始的單元格區(qū)域中录别。
(36) ActiveWindow.RangeSelection.Count '活動(dòng)窗口中選擇的單元格數(shù)
(37)??Selection.Count '當(dāng)前選中區(qū)域的單元格數(shù)
(38) Range(“A1”).Interior.ColorIndex ‘獲取單元格A1背景色
(39)??cells.count ‘返回當(dāng)前工作表的單元格數(shù)
(40) Range(“B3”).Resize(11, 3)
(41) Union(Range(“A1:A9”),Range(“D1:D9”)) 區(qū)域連接
(42) Intersect(Range(“A1:B9”),Range(“A1:D9”))) ‘返回的交叉區(qū)域
(43)??Selection.Columns.Count ‘當(dāng)前選中的單元格區(qū)域中的列數(shù)
(44) Selection.Rows.Count ‘當(dāng)前選中的單元格區(qū)域中的行數(shù)
(45) ActiveSheet.UsedRange.Row??‘獲取單元格區(qū)域中使用的第一行的行號(hào)
(46)??Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函數(shù)檢查A1單元格中的數(shù)據(jù)是否為數(shù)字
(47) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate'激活單元格區(qū)域A列中最大值的單元格
(48) MsgBox “Hello!” '消息框中顯示消息Hello
(49) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中點(diǎn)擊“是”按鈕,則Ans值為vbYes邻吞;點(diǎn)擊“否”按鈕组题,則Ans值為vbNo。
(50)??Userform1.Show ‘顯示用戶窗體
(51) Load Userform1 ‘加載一個(gè)用戶窗體,但該窗體處于隱藏狀態(tài)
(52)??Userform1.Hide ‘隱藏用戶窗體
(53) Unload Userform1 或 Unload Me ‘卸載用戶窗體
(54) UserForm1.Show 0‘將窗體設(shè)置為無(wú)模式狀態(tài)
(55)??Application.EnableEvents=False '禁用所有事件
(56) Application.EnableEvents = True '啟用所有事件
(57) Set d = CreateObject(Scripting.Dictionary) ‘創(chuàng)建一個(gè) Dictionary 對(duì)象變量
(58)??d.Add "a", "Athens" '為對(duì)象變量添加關(guān)鍵字和條
(59)??Application.OnKey “^I”,”macro” '設(shè)置Ctrl+I鍵為macro過(guò)程的快捷鍵
(60)??Application.CutCopyMode=False ‘退出剪切/復(fù)制模式
(61)??Application.Volatile True '無(wú)論何時(shí)工作表中任意單元格重新計(jì)算抱冷,都會(huì)強(qiáng)制計(jì)算該函數(shù)
(62) Application.Volatile False '只有在該函數(shù)的一個(gè)或多個(gè)參數(shù)發(fā)生改變時(shí)崔列,才會(huì)重新計(jì)算該函數(shù)
(63)??Err.Clear ‘清除程序運(yùn)行過(guò)程中所有的錯(cuò)誤
(64) Workbooks.Close ‘關(guān)閉所有打開(kāi)的工作簿
(65) ActiveWorkbook.Path ‘返回當(dāng)前工作簿的路徑(注:若工作簿未保存,則為空)
(66) ActiveWorkbook.Saved ‘返回工作簿的存儲(chǔ)值(若已保存則為False)
(67) Application.Visible = False ‘隱藏工作簿
(68) Application.Visible = True ‘顯示工作簿
(69)??ActiveSheet.Columns("B").Insert ‘在A列右側(cè)插入列,即插入B列
(70) ActiveSheet.Columns("E").Cut ?
(71) ActiveSheet.Columns("B").Insert??70,71兩句將E列數(shù)據(jù)移至B列旺遮,原B列及以后的數(shù)據(jù)相應(yīng)后移
(72) ActiveSheet.Calculate ‘計(jì)算當(dāng)前工作表
(73) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden ‘正常隱藏工作表赵讯,同在Excel菜單中選擇“格式——工作表——隱藏”操作一樣
(74) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden ‘隱藏工作表,不能通過(guò)在Excel菜單中選擇“格式——工作表——取消隱藏”來(lái)重新顯示工作
(75) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible ‘顯示被隱藏的工作表
(76)??ThisWorkbook.Sheets(1).ProtectContents ‘檢查工作表是否受到保護(hù)
(77)??ThisWorkbook.Worksheets.Add Count:=2, Before:=ThisWorkbook.Worksheets(2) 或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2??‘在第二個(gè)工作表之前添加兩個(gè)新的工作表
(78) ThisWorkbook.Worksheets(3).Copy ‘復(fù)制一個(gè)工作表到新的工作簿
(79)??ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘復(fù)制第三個(gè)工作表到第二個(gè)工作表之前
(80) ThisWorkbook.Worksheets(1).Activate ‘當(dāng)前工作簿中的第一個(gè)工作表被激活
(81)??ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True ‘將工作表Sheet1中的1隱藏
(82) ActiveCell.EntireRow.Hidden = True ‘將當(dāng)前工作表中活動(dòng)單元格所在的行隱藏
(83)? ?ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自動(dòng)調(diào)整當(dāng)前工作表A列列寬
(84) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘選中當(dāng)前工作表中常量和文本單元格
(85) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘選中當(dāng)前工作表中常量和文本及錯(cuò)誤值單元格
(86)??Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘獲取A列的下一個(gè)空單元格
(87) Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘設(shè)置某單元格區(qū)域左上角單元格
(88)??Application.OnTime Now + TimeValue("00:00:15"), "myProcedure" ‘等待15秒后運(yùn)行myProcedure過(guò)程
(89) Application對(duì)象
(90)??Application.UserName ‘返回應(yīng)用程序的用戶名
(91)??Application.Caller.Parent.Parent ‘返回調(diào)用函數(shù)的工作簿名稱
(92)??Application.StatusBar=”請(qǐng)等待……” ‘將文本寫到狀態(tài)欄
(93)??Application.StatusBar=False ‘將狀態(tài)欄重新設(shè)置成正常狀態(tài)
(94)??Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一個(gè)垂直的數(shù)組
(95)??Application.ActiveCell.Address ‘返回活動(dòng)單元格的地址(注:返回的是絕對(duì)地址)
(96)??Application.ActiveSheet.Name ‘返回活動(dòng)工作表的名稱
(97)??Application.ActiveWindow.Caption ‘返回活動(dòng)窗口的標(biāo)題
(98) Application.ActiveWorkbook.Name ‘返回活動(dòng)工作簿的名稱
(99)??Application.Selection.Address ‘返回所選區(qū)域的地址
(100) Application.ThisWorkbook.Name ‘返回當(dāng)前工作簿的名稱
(101)??Range(A1:A10).Value=Application.WorksheetFunction.Transpose(MyArray) ‘將一含有10個(gè)元素的水平數(shù)組轉(zhuǎn)置成垂直數(shù)組耿眉,并寫入工作表單元格區(qū)域(A1至A10)边翼。
(102) Cells(rows.count,1).End(xlUp).Row+1 ‘返回A列最后一行的下一行
(103)??rng.Range(“A1”) ‘返回區(qū)域左上角的單元格
(104)??ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), Header:=xlYes ‘兩個(gè)關(guān)鍵字排序,相鄰兩列鸣剪,B列為主關(guān)鍵字组底,A列為次關(guān)鍵字,升序排列
(105)??cell.Range(“A1”).HasFormula ‘檢查單元格或單元格區(qū)域中的第一個(gè)單元格是否含有公式或cell.HasFormula ‘工作表中單元格是否含有公式
(106)??Cell.EntireColumn ‘單元格所在的整列
(107) Cell.EntireRow ‘單元格所在的整行
(108) rng.Address ‘返回rng區(qū)域的地址
(109)??Range(“D5:D10”).Cells(1,1) ‘返回單元格區(qū)域D5:D10中左上角單元格
(110)??ActiveCell.Row ‘活動(dòng)單元格所在的行數(shù)
(111) ActiveCell.Column ‘活動(dòng)單元格所在的列數(shù)
(112)??Set MyRange=Range(“A1:A5”) ‘創(chuàng)建一個(gè)名為MyRange的對(duì)象變量
(113)??Application.Calculation = xlCalculationManual ‘設(shè)置工作簿手動(dòng)計(jì)算
(114) Application.Calculation = xlCalculationAutomatic ‘工作簿自動(dòng)計(jì)算
(115)??Worksheets(1).EnableCalculation = False ‘不對(duì)第一張工作表自動(dòng)進(jìn)行重算
(116) ActiveSheet.Shapes.AddPicture "d:\sx.jpg", True, True, 60, 20, 400, 300 '在當(dāng)前工作表中插入一張d盤中名為sx.jpg的圖片