vba語句
(1) Option Explicit '強(qiáng)制對模塊內(nèi)所有變量進(jìn)行聲明
(2) Option Base 1 '指定數(shù)組的第一個下標(biāo)為1
(3) On Error Resume Next '忽略錯誤繼續(xù)執(zhí)行VBA代碼,避免出現(xiàn)錯誤消息
(4) On Error GoTo 100 '當(dāng)錯誤發(fā)生時跳轉(zhuǎn)到過程中的某個位置
(5) On Error GoTo 0 '恢復(fù)正常的錯誤提示
(6) Application.DisplayAlerts=False '在程序執(zhí)行過程中使出現(xiàn)的警告框不顯示
(7) Application.DisplayAlerts=True '在程序執(zhí)行過程中
(8) Application.ScreenUpdating=False '關(guān)閉屏幕刷新
(9) Application.ScreenUpdating = True '打開屏幕刷新
(10) Workbooks.Add() '創(chuàng)建一個新的工作簿
(11) Workbooks(“book1.xls”).Activate '激活名為book1的工作簿
(12) ThisWorkbook.Save '保存工作簿
(13) ThisWorkbook.close '關(guān)閉當(dāng)前工作簿
(14) ActiveWorkbook.Sheets.Count '獲取活動工作薄中工作表數(shù)
(15) ActiveWorkbook.name '返回活動工作薄的名稱
(16) ThisWorkbook.Name ‘返回當(dāng)前工作簿名稱
(17) ThisWorkbook.FullName ‘返回當(dāng)前工作簿路徑和名
(18) (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) '添加一個新工作表在第一工作表前
(22) ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '將當(dāng)前工作表移至工作表的最后
(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同時選擇工作表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)前活動單元格所包含的范圍,上下左右無空行
(28) Cells.Select ‘選定當(dāng)前工作表的所有單元格
(29) Range(“A1”).ClearContents '清除活動工作表上單元格A1中的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 '活動單元格下移一行,同理,可下移一列
(32) Range(“A1”).Copy Range(“B1”) '復(fù)制單元格A1,粘貼到單元格B1中
(33) Range(“A1:D8”).Copy Range(“F1”) '將單元格區(qū)域復(fù)制到單元格F1開始的區(qū)域中
(34) Range(“A1:D8”).Cut Range(“F1”) '剪切單元格區(qū)域A1至D8,復(fù)制到單元格F1開始的區(qū)域中
(35) Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '復(fù)制包含A1的單元格區(qū)域到工作表2中以A1起始的單元格區(qū)域中注:CurrentRegion屬性等價(jià)于定位命令,由一個矩形單元格塊組成,周圍是一個或多個空行或列
(36) ActiveWindow.RangeSelection.Count '活動窗口中選擇的單元格數(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ū)域中使用的第一行的行號
(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 ‘加載一個用戶窗體,但該窗體處于隱藏狀態(tài)
(52) Userform1.Hide ‘隱藏用戶窗體
(53) Unload Userform1 或 Unload Me ‘卸載用戶窗體
(54) UserForm1.Show 0‘將窗體設(shè)置為無模式狀態(tài)
(55) Application.EnableEvents=False '禁用所有事件
(56) Application.EnableEvents = True '啟用所有事件
(57) Set d = CreateObject(Scripting.Dictionary) ‘創(chuàng)建一個 Dictionary 對象變量
(58) d.Add 'a', 'Athens' '為對象變量添加關(guān)鍵字和條
(59) Application.OnKey “^I”,”macro” '設(shè)置Ctrl+I鍵為macro過程的快捷鍵
(60) Application.CutCopyMode=False ‘退出剪切/復(fù)制模式
(61) Application.Volatile True '無論何時工作表中任意單元格重新計(jì)算,都會強(qiáng)制計(jì)算該函數(shù)
(62) Application.Volatile False '只有在該函數(shù)的一個或多個參數(shù)發(fā)生改變時,才會重新計(jì)算該函數(shù)
(63) Err.Clear ‘清除程序運(yùn)行過程中所有的錯誤
(64) Workbooks.Close ‘關(guān)閉所有打開的工作簿
(65) ActiveWorkbook.Path ‘返回當(dāng)前工作簿的路徑(注:若工作簿未保存,則為空)
(66) ActiveWorkbook.Saved ‘返回工作簿的存儲值(若已保存則為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 ‘隱藏工作表,不能通過在Excel菜單中選擇“格式——工作表——取消隱藏”來重新顯示工作
(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 ‘在第二個工作表之前添加兩個新的工作表
(78) ThisWorkbook.Worksheets(3).Copy ‘復(fù)制一個工作表到新的工作簿
(79) ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘復(fù)制第三個工作表到第二個工作表之前
(80) ThisWorkbook.Worksheets(1).Activate ‘當(dāng)前工作簿中的第一個工作表被激活
(81) ThisWorkbook.Worksheets('Sheet1').Rows(1).Hidden = True ‘將工作表Sheet1中的1隱藏
(82) ActiveCell.EntireRow.Hidden = True ‘將當(dāng)前工作表中活動單元格所在的行隱藏
(83) ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自動調(diào)整當(dāng)前工作表A列列寬
(84) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘選中當(dāng)前工作表中常量和文本單元格
(85) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘選中當(dāng)前工作表中常量和文本及錯誤值單元格
(86) Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘獲取A列的下一個空單元格
(87) Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘設(shè)置某單元格區(qū)域左上角單元格
(88) Application.OnTime Now + TimeValue('00:00:15'), 'myProcedure' ‘等待15秒后運(yùn)行myProcedure過程
(89) Application對象
(90) Application.UserName ‘返回應(yīng)用程序的用戶名
(91) Application.Caller.Parent.Parent ‘返回調(diào)用函數(shù)的工作簿名稱
(92) Application.StatusBar=”請等待……” ‘將文本寫到狀態(tài)欄
(93) Application.StatusBar=False ‘將狀態(tài)欄重新設(shè)置成正常狀態(tài)
(94) Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一個垂直的數(shù)組
(95) Application.ActiveCell.Address ‘返回活動單元格的地址(注:返回的是絕對地址)
(96) Application.ActiveSheet.Name ‘返回活動工作表的名稱
(97) Application.ActiveWindow.Caption ‘返回活動窗口的標(biāo)題
(98) Application.ActiveWorkbook.Name ‘返回活動工作簿的名稱
(99) Application.Selection.Address ‘返回所選區(qū)域的地址
(100) Application.ThisWorkbook.Name ‘返回當(dāng)前工作簿的名稱
(101) Range(A1:A10).Value=Application.WorksheetFunction.Transpose(MyArray) ‘將一含有10個元素的數(shù)組轉(zhuǎn)置成垂直方向的工作表單元格區(qū)域(A1至A10)注:因?yàn)楫?dāng)把一維數(shù)組的內(nèi)容傳遞給某個單元格區(qū)域時,該單元格區(qū)域中的單元格必須是水平方向的,即含有多列的一行。若必須使用垂直方向的單元格區(qū)域,則必須先將數(shù)組進(jìn)行轉(zhuǎn)置,成為垂直的。
(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 ‘兩個關(guān)鍵字排序,相鄰兩列,B列為主關(guān)鍵字,A列為次關(guān)鍵字,升序排列
(105) cell.Range(“A1”).HasFormula ‘檢查單元格或單元格區(qū)域中的第一個單元格是否含有公式或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 ‘活動單元格所在的行數(shù)
(111) ActiveCell.Column ‘活動單元格所在的列數(shù)
(112) Set MyRange=Range(“A1:A5”) ‘創(chuàng)建一個名為MyRange的對象變量
(113) Application.Calculation = xlCalculationManual ‘設(shè)置工作簿手動計(jì)算
(114) Application.Calculation = xlCalculationAutomatic ‘工作簿自動計(jì)算
(115) Worksheets(1).EnableCalculation = False ‘不對第一張工作表自動進(jìn)行重算
(116) ActiveSheet.Shapes.AddPicture 'd:\sx.jpg', True, True, 60, 20, 400, 300 '在當(dāng)前工作表中插入一張d盤中名為sx的圖片
(117) sheets('sheet2').Range('2:65536').ClearContents'清空單元格內(nèi)容
(118) sheets('sheet2').Range('2:65536').Delete '刪除單元格的內(nèi)容及格式
(119) sheets('sheet2').Range('2:65536').Clear '清空單元格的內(nèi)容及格式
(120) [iu1].end(1).column '最后一列
(121) [a65536].end(3).row'A列最后一行
worksheet.range('A65536').End(xlUp).row'A列最后一行
對比一下Value屬性,Text屬性和Formula屬性
(122) Value是單元格的數(shù)字內(nèi)容
(123) Text是文本內(nèi)容
(124) Formula是最原本的,輸入內(nèi)容
聯(lián)系客服