定制模塊行為
(1) Option Explicit '強(qiáng)制對(duì)模塊內(nèi)所有變量進(jìn)行聲明
Option Private Module '標(biāo)記模塊為私有,僅對(duì)同一工程中其它模塊有用,在宏對(duì)話框中不顯示
Option Compare Text '字符串不區(qū)分大小寫
Option Base 1 '指定數(shù)組的第一個(gè)下標(biāo)為1
(2) On Error Resume Next '忽略錯(cuò)誤繼續(xù)執(zhí)行VBA代碼,避免出現(xiàn)錯(cuò)誤消息
(3) On Error GoTo ErrorHandler '當(dāng)錯(cuò)誤發(fā)生時(shí)跳轉(zhuǎn)到過程中的某個(gè)位置
(4) On Error GoTo 0 '恢復(fù)正常的錯(cuò)誤提示
(5) Application.DisplayAlerts=False '在程序執(zhí)行過程中使出現(xiàn)的警告框不顯示
(6) Application.ScreenUpdating=False '關(guān)閉屏幕刷新
Application.ScreenUpdating=True '打開屏幕刷新
(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏運(yùn)行的功能
工作簿
(8) Workbooks.Add() '創(chuàng)建一個(gè)新的工作簿
(9) Workbooks(“book1.xls”).Activate '激活名為book1的工作簿
(10) ThisWorkbook.Save '保存工作簿
(11) ThisWorkbook.close '關(guān)閉當(dāng)前工作簿
(12) ActiveWorkbook.Sheets.Count '獲取活動(dòng)工作薄中工作表數(shù)
(13) ActiveWorkbook.name '返回活動(dòng)工作薄的名稱
(14) ThisWorkbook.Name ‘返回當(dāng)前工作簿名稱
ThisWorkbook.FullName ‘返回當(dāng)前工作簿路徑和名稱
(15) ActiveWindow.EnableResize=False ‘禁止調(diào)整活動(dòng)工作簿的大小
(16) Application.Window.Arrange xlArrangeStyleTiled ‘將工作簿以平鋪方式排列
(17) ActiveWorkbook.WindowState=xlMaximized ‘將當(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) ActiveWorkbook.Sheets(i).Name '獲取工作表i的名稱
(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切換工作表中的網(wǎng)格線顯示,這種方法也可以用在其它方面進(jìn)行相互切換,即相當(dāng)于開關(guān)按鈕
(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切換工作表中的行列邊框顯示
(28) ActiveSheet.UsedRange.FormatConditions.Delete ‘刪除當(dāng)前工作表中所有的條件格式
(29) Cells.Hyperlinks.Delete ‘取消當(dāng)前工作表所有超鏈接
(30) ActiveSheet.PageSetup.Orientation=xlLandscape
或ActiveSheet.PageSetup.Orientation=2 '將頁面設(shè)置更改為橫向
(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在頁面設(shè)置的表尾中輸入文件路徑
ActiveSheet.PageSetup.LeftFooter=Application.UserName ‘將用戶名放置在活動(dòng)工作表的頁腳
單元格/單元格區(qū)域
(32) ActiveCell.CurrentRegion.Select
或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select
'選擇當(dāng)前活動(dòng)單元格所包含的范圍,上下左右無空行
(33) Cells.Select ‘選定當(dāng)前工作表的所有單元格
(34) Range(“A1”).ClearContents '清除活動(dòng)工作表上單元格A1中的內(nèi)容
Selection.ClearContents '清除選定區(qū)域內(nèi)容
Range(“A1:D4”).Clear '徹底清除A1至D4單元格區(qū)域的內(nèi)容,包括格式
(35) Cells.Clear '清除工作表中所有單元格的內(nèi)容
(36) ActiveCell.Offset(1,0).Select '活動(dòng)單元格下移一行,同理,可下移一列
(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列
Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行
(38) Range(“A1”).Copy Range(“B1”) '復(fù)制單元格A1,粘貼到單元格B1中
Range(“A1:D8”).Copy Range(“F1”) '將單元格區(qū)域復(fù)制到單元格F1開始的區(qū)域中
Range(“A1:D8”).Cut Range(“F1”) '剪切單元格區(qū)域A1至D8,復(fù)制到單元格F1開始的區(qū)域中
Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '復(fù)制包含A1的單元格區(qū)域到工作表2中以A1起始的單元格區(qū)域中
注:CurrentRegion屬性等價(jià)于定位命令,由一個(gè)矩形單元格塊組成,周圍是一個(gè)或多個(gè)空行或列
(39) ActiveWindow.RangeSelection.Value=XX '將值XX輸入到所選單元格區(qū)域中
(40) ActiveWindow.RangeSelection.Count '活動(dòng)窗口中選擇的單元格數(shù)
(41) Selection.Count '當(dāng)前選中區(qū)域的單元格數(shù)
(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回單元格中超級(jí)鏈接的地址并賦值
(43) TextColor=Range(“A1”).Font.ColorIndex ‘檢查單元格A1的文本顏色并返回顏色索引
Range(“A1”).Interior.ColorIndex ‘獲取單元格A1背景色
(44) cells.count ‘返回當(dāng)前工作表的單元格數(shù)
(45) Selection.Range(“E4”).Select ‘激活當(dāng)前活動(dòng)單元格下方3行,向右4列的單元格
(46) Cells.Item(5,”C”) ‘引單元格C5
Cells.Item(5,3) ‘引單元格C5
(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)
或 Range(“A1”).Offset(4,5) ‘指定單元格F5
(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)
Rnage(“B3”).Resize(11,3) ‘創(chuàng)建B3:D13區(qū)域
(49) Range(“Data”).Resize(,2) ‘將Data區(qū)域擴(kuò)充2列
(50) Union(Range(“Data1”),Range(“Data2”)) ‘將Data1和Data2區(qū)域連接
(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2區(qū)域的交叉區(qū)域
(52) Range(“Data”).Count ‘單元格區(qū)域Data中的單元格數(shù)
Range(“Data”). Columns.Count ‘單元格區(qū)域Data中的列數(shù)
Range(“Data”). Rows.Count ‘單元格區(qū)域Data中的行數(shù)
(53) Selection.Columns.Count ‘當(dāng)前選中的單元格區(qū)域中的列數(shù)
Selection.Rows.Count ‘當(dāng)前選中的單元格區(qū)域中的行數(shù)
(54) Selection.Areas.Count ‘選中的單元格區(qū)域所包含的區(qū)域數(shù)
(55) ActiveSheet.UsedRange.Row ‘獲取單元格區(qū)域中使用的第一行的行號(hào)
(56) Rng.Column ‘獲取單元格區(qū)域Rng左上角單元格所在列編號(hào)
(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活動(dòng)工作表中返回所有符合條件格式設(shè)置的區(qū)域
(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘關(guān)閉由于執(zhí)行自動(dòng)篩選命令產(chǎn)生的第3個(gè)字段的下拉列表
名稱
(59) Range(“A1:C3”).Name=“computer” ‘命名A1:C3區(qū)域?yàn)閏omputer
或Range(“D1:E6”).Name=“Sheet1!book” ‘命名局部變量,即Sheet1上區(qū)域D1:E6為book
或 Names(“computer”).Name=“robot” ‘將區(qū)域computer重命名為robot
(60) Names(“book”).Delete ‘刪除名稱
(61) Names.Add Name:=“ContentList”,_
RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘動(dòng)態(tài)命名列
(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar
(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘將數(shù)字123456命名為Total。注意數(shù)字不能加引號(hào),否則就是命名字符串了。
(64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ‘將數(shù)組ArrayNum命名為MyArray。
(65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ‘將名稱隱藏
(66) ActiveWorkbook.Names(“Com”).Name ‘返回名稱字符串
公式與函數(shù)
(67) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函數(shù)檢查A1單元格中的數(shù)據(jù)是否為數(shù)字
(68) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate
'激活單元格區(qū)域A列中最大值的單元格
(69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” ‘在單元格中輸入數(shù)組公式。注意必須使用R1C1樣式的表達(dá)式
圖表
(70) ActiveSheet.ChartObjects.Count '獲取當(dāng)前工作表中圖表的個(gè)數(shù)
(71) ActiveSheet.ChartObjects(“Chart1”).Select ‘選中當(dāng)前工作表中圖表Chart1
(72) ActiveSheet.ChartObjects(“Chart1”).Activate
ActiveChart.ChartArea.Select ‘選中當(dāng)前圖表區(qū)域
(73) WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart. _
ChartArea.Interior.ColorIndex=2 ‘更改工作表中圖表的圖表區(qū)的顏色
(74) Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 ‘更改圖表工作表中圖表區(qū)的顏色
(75) Charts.Add ‘添加新的圖表工作表
(76) ActiveChart.SetSourceData Source:=Sheets(“Sheet1”).Range(“A1:D5”), _
PlotBy:=xlColumns ‘指定圖表數(shù)據(jù)源并按列排列
(77) ActiveChart.Location Where:=xlLocationAsNewSheet ‘新圖表作為新圖表工作表
(78) ActiveChart.PlotArea.Interior.ColorIndex=xlNone ‘將繪圖區(qū)顏色變?yōu)榘咨?br />
(79) WorkSheets(“Sheet1”).ChartObjects(1).Chart. _
Export FileName:=“C:MyChart.gif”,FilterName:=“GIF” ‘將圖表1導(dǎo)出到C盤上并命名為MyChart.gif
窗體
(80) MsgBox “Hello!” '消息框中顯示消息Hello
(81) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中點(diǎn)擊“是”按鈕,則Ans值為vbYes;點(diǎn)擊“否”按鈕,則Ans值為vbNo。
If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub '返回值不為“是”,則退出
(82) Config=vbYesNo+vbQuestion+vbDefaultButton2 '使用常量的組合,賦值組Config變量,并設(shè)置第二個(gè)按鈕為缺省按鈕
(83) MsgBox “This is the first line.” & vbNewLine & “Second line.” '在消息框中強(qiáng)制換行,可用vbCrLf代替vbNewLine。
(84) MsgBox "the average is :"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation, "selection count average" & Chr(13) '應(yīng)用工作表函數(shù)返回所選區(qū)域的平均值并按指定格式顯示
(85) Userform1.Show ‘顯示用戶窗體
(86) Load Userform1 ‘加載一個(gè)用戶窗體,但該窗體處于隱藏狀態(tài)
(87) Userform1.Hide ‘隱藏用戶窗體
(88) Unload Userform1 或 Unload Me ‘卸載用戶窗體
(89) (圖像控件).Picture=LoadPicture(“圖像路徑”) ‘在用戶窗體中顯示圖形
(90) UserForm1.Show 0 或 UserForm1.Show vbModeless ‘將窗體設(shè)置為無模式狀態(tài)
(91) Me.Height=Int(0.88*ActiveWindow.Height) ‘窗體高度為當(dāng)前活動(dòng)窗口高度的0.88
Me.Width=Int(0.88*ActiveWindow.Width) ‘窗體寬度為當(dāng)前活動(dòng)窗口高度的0.88
事件
(92) Application.EnableEvents=False '禁用所有事件
Application.EnableEvents=True '啟用所有事件
注:不適用于用戶窗體控件觸發(fā)的事件
對(duì)象
(93) Set ExcelSheet = CreateObject("Excel.Sheet") ‘創(chuàng)建一個(gè)Excel工作表對(duì)象
ExcelSheet.Application.Visible = True '設(shè)置 Application 對(duì)象使 Excel 可見
ExcelSheet.Application.Cells(1, 1).Value = "Data" '在表格的第一個(gè)單元中輸入文本
ExcelSheet.SaveAs "C:TEST.XLS" '將該表格保存到C:test.xls 目錄
ExcelSheet.Application.Quit '關(guān)閉 Excel
Set ExcelSheet = Nothing '釋放該對(duì)象變量
(94) ‘聲明并創(chuàng)建一個(gè)Excel對(duì)象引用
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
(95) ‘創(chuàng)建并傳遞一個(gè) Excel.Application 對(duì)象的引用
Call MySub (CreateObject("Excel.Application"))
(96) Set d = CreateObject(Scripting.Dictionary) ‘創(chuàng)建一個(gè) Dictionary 對(duì)象變量
(97) d.Add "a", "Athens" '為對(duì)象變量添加關(guān)鍵字和條目
其他
(98) Application.OnKey “^I”,”macro” '設(shè)置Ctrl+I鍵為macro過程的快捷鍵
(99) Application.CutCopyMode=False ‘退出剪切/復(fù)制模式
(100) Application.Volatile True '無論何時(shí)工作表中任意單元格重新計(jì)算,都會(huì)強(qiáng)制計(jì)算該函數(shù)
Application.Volatile False '只有在該函數(shù)的一個(gè)或多個(gè)參數(shù)發(fā)生改變時(shí),才會(huì)重新計(jì)算該函數(shù)
*******************************************************
定制模塊行為
(101) Err.Clear ‘清除程序運(yùn)行過程中所有的錯(cuò)誤
*******************************************************
工作簿
(102) ThisWorkbook.BuiltinDocumentProperties(“Last Save Time”)
或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Save Time”) ‘返回上次保存工作簿的日期和時(shí)間
(103) ThisWorkbook.BuiltinDocumentProperties("Last Print Date")
或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Print Date”) ‘返回上次打印或預(yù)覽工作簿的日期和時(shí)間
(104) Workbooks.Close ‘關(guān)閉所有打開的工作簿
(105) ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回當(dāng)前工作簿中的第一條鏈接
(106) ActiveWorkbook.CodeName
ThisWorkbook.CodeName ‘返回工作簿代碼的名稱
(107) ActiveWorkbook.FileFormat
ThisWorkbook.FileFormat ‘返回當(dāng)前工作簿文件格式代碼
(108) ThisWorkbook.Path
ActiveWorkbook.Path ‘返回當(dāng)前工作簿的路徑(注:若工作簿未保存,則為空)
(109) ThisWorkbook.ReadOnly
ActiveWorkbook.ReadOnly ‘返回當(dāng)前工作簿的讀/寫值(為False)
(110) ThisWorkbook.Saved
ActiveWorkbook.Saved ‘返回工作簿的存儲(chǔ)值(若已保存則為False)
(111) Application.Visible = False ‘隱藏工作簿
Application.Visible = True ‘顯示工作簿
注:可與用戶窗體配合使用,即在打開工作簿時(shí)將工作簿隱藏,只顯示用戶窗體.可設(shè)置控制按鈕控制工作簿可見
*******************************************************
工作表
(112) ActiveSheet.Columns("B").Insert ‘在A列右側(cè)插入列,即插入B列
ActiveSheet.Columns("E").Cut
ActiveSheet.Columns("B").Insert ‘以上兩句將E列數(shù)據(jù)移至B列,原B列及以后的數(shù)據(jù)相應(yīng)后移
ActiveSheet.Columns("B").Cut
ActiveSheet.Columns("E").Insert ‘以上兩句將B列數(shù)據(jù)移至D列,原C列和D列數(shù)據(jù)相應(yīng)左移一列
(113) ActiveSheet.Calculate ‘計(jì)算當(dāng)前工作表
(114) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden ‘正常隱藏工作表,同在Excel菜單中選擇“格式——工作表——隱藏”操作一樣
ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden ‘隱藏工作表,不能通過在Excel菜單中選擇“格式——工作表——取消隱藏”來重新顯示工作表
ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible ‘顯示被隱藏的工作表
(115) ThisWorkbook.Sheets(1).ProtectContents ‘檢查工作表是否受到保護(hù)
(116) ThisWorkbook.Worksheets.Add Count:=2, _
Before:=ThisWorkbook.Worksheets(2)
或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2 ‘在第二個(gè)工作表之前添加兩個(gè)新的工作表
(117) ThisWorkbook.Worksheets(3).Copy ‘復(fù)制一個(gè)工作表到新的工作簿
(118) ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘復(fù)制第三個(gè)工作表到第二個(gè)工作表之前
(119) ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 ‘改變工作表的列寬為20
ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _
ThisWorkbook.ActiveSheet.StandardWidth ‘將工作表的列寬恢復(fù)為標(biāo)準(zhǔn)值
ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 ‘改變工作表列1的寬度為20
(120) ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 ‘改變工作表的行高為10
ThisWorkbook.ActiveSheet.Rows.RowHeight = _
ThisWorkbook.ActiveSheet.StandardHeight ‘將工作表的行高恢復(fù)為標(biāo)準(zhǔn)值
ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 ‘改變工作表的行1的高度值設(shè)置為10
(121) ThisWorkbook.Worksheets(1).Activate ‘當(dāng)前工作簿中的第一個(gè)工作表被激活
(122) ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True ‘設(shè)置工作表Sheet1中的行1數(shù)據(jù)為粗體
ActiveCell.EntireRow.Hidden = True ‘將當(dāng)前工作表中活動(dòng)單元格所在的行隱藏
注:同樣可用于列。
(124) ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自動(dòng)調(diào)整當(dāng)前工作表A列列寬
(125) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘選中當(dāng)前工作表中常量和文本單元格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘選中當(dāng)前工作表中常量和文本及錯(cuò)誤值單元格
*******************************************************
公式與函數(shù)
(126) Application.MacroOptions Macro:=”SumPro”,Category:=4 ‘將自定義的SumPro函數(shù)指定給Excel中的“統(tǒng)計(jì)函數(shù)”類別
(127) Application.MacroOptions Macro:=”SumPro”, _
Description:=”First Sum,then Product” ‘為自定義函數(shù)SumPro進(jìn)行了功能說明
(128) Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘獲取A列的下一個(gè)空單元格
(129) WorksheetFunction.CountA(Cell.EntireColumn) ‘返回該單元格所在列非空單元格的數(shù)量
WorksheetFunction.CountA(Cell.EntireRow) ‘返回該單元格所在行非空單元格的數(shù)量
(130) WorksheetFunction.CountA(Cells) ‘返回工作表中非空單元格數(shù)量
(131) ActiveSheet.Range(“A20:D20”).Formula=“=Sum(R[-19]C:R[-1]C”’對(duì)A列至D列前19個(gè)數(shù)值求和
*******************************************************
圖表
(132) ActiveWindow.Visible=False
或 ActiveChart.Deselect ‘使圖表處于非活動(dòng)狀態(tài)
(133) TypeName(Selection)=”Chart” ‘若選中的為圖表,則該語句為真,否則為假
(134) ActiveSheet.ChartObjects.Delete ‘刪除工作表上所有的ChartObject對(duì)象
ActiveWorkbook.Charts.Delete ‘刪除當(dāng)前工作簿中所有的圖表工作表
*******************************************************
窗體和控件
(135) UserForms.Add(MyForm).Show ‘添加用戶窗體MyForm并顯示
(136)TextName.SetFocus ‘設(shè)置文本框獲取輸入焦點(diǎn)
(137) SpinButton1.Value=0 ‘將數(shù)值調(diào)節(jié)鈕控件的值改為0
(138) TextBox1.Text=SpinButton1.Value ‘將數(shù)值調(diào)節(jié)鈕控件的值賦值給文本框控件
SpinButton1.value="/Val(TextBox1.Text)" ‘將文本框控件值賦給數(shù)值調(diào)節(jié)鈕控件
CStr(SpinButton1.Value)=TextBox1.Text ‘數(shù)值調(diào)節(jié)鈕控件和文本框控件相比較
(139) UserForm1.Controls.Count ‘顯示窗體UserForm1上的控件數(shù)目
(140) ListBox1.AddItem “Command1” ‘在列表框中添加Command1
(141) ListBox1.ListIndex ‘返回列表框中條目的值,若為-1,則表明未選中任何列表框中的條目
(142) RefEdit1.Text ‘返回代表單元格區(qū)域地址的文本字符串
RefEdit1.Text=ActiveWindow.RangeSelection.Address ‘初始化RefEdit控件顯示當(dāng)前所選單元格區(qū)域
Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘設(shè)置某單元格區(qū)域左上角單元格
(143) Application.OnTime Now + TimeValue("00:00:15"), "myProcedure" ‘等待15秒后運(yùn)行myProcedure過程
(144) ActiveWindow.ScrollColumn=ScrollBarColumns.Value ‘將滾動(dòng)條控件的值賦值給ActiveWindow對(duì)象的ScrollColumn屬性
ActiveWindow.ScrollRow=ScrollBarRows.Value ‘將滾動(dòng)條控件的值賦值給ActiveWindow對(duì)象的ScrollRow屬性
(145) UserForm1.ListBox1.AddItem Sheets(“Sheet1”).Cells(1,1) ‘將單元格A1中的數(shù)據(jù)添加到列表框中
ListBox1.List=Product ‘將一個(gè)名為Product數(shù)組的值添加到ListBox1中
ListBox1.RowSource=”Sheet2!SumP” ‘使用工作表Sheet2中的SumP區(qū)域的值填充列表框
(146) ListBox1.Selected(0) ‘選中列表框中的第一個(gè)條目(注:當(dāng)列表框允許一次選中多個(gè)條目時(shí),必須使用Selected屬性)
(147) ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中選中的條目
*******************************************************
對(duì)象
Application對(duì)象
(148) Application.UserName ‘返回應(yīng)用程序的用戶名
(149) Application.Caller ‘返回代表調(diào)用函數(shù)的單元格
(150) Application.Caller.Parent.Parent ‘返回調(diào)用函數(shù)的工作簿名稱
(151) Application.StatusBar=”請(qǐng)等待……” ‘將文本寫到狀態(tài)欄
Application.StatusBar=”請(qǐng)等待……” & Percent & “% Completed” ‘更新狀態(tài)欄文本,以變量Percent代表完成的百分比
Application.StatusBar=False ‘將狀態(tài)欄重新設(shè)置成正常狀態(tài)
(152) Application.Goto Reference:=Range(“A1:D4”) ‘指定單元格區(qū)域A1至D4,等同于選擇“編輯——定位”,指定單元格區(qū)域?yàn)锳1至D4,不會(huì)出現(xiàn)“定位”對(duì)話框
(153) Application.Dialogs(xlDialogFormulaGoto).Show ‘顯示“定位”對(duì)話框,但定位條件按鈕無效
(154) Application.Dialogs(xlDialogSelectSpecial).Show ‘顯示“定位條件”對(duì)話框
(155) Application.Dialogs(xlDialogFormatNumber).show ‘顯示“單元格格式”中的“數(shù)字”選項(xiàng)卡
Application.Dialogs(xlDialogAlignment).show ‘顯示“單元格格式”中的“對(duì)齊”選項(xiàng)卡
Application.Dialogs(xlDialogFontProperties).show ‘顯示“單元格格式”中的“字體”選項(xiàng)卡
Application.Dialogs(xlDialogBorder).show ‘顯示“單元格格式”中的“邊框”選項(xiàng)卡
Application.Dialogs(xlDialogPatterns).show ‘顯示“單元格格式”中的“圖案”選項(xiàng)卡
Application.Dialogs(xlDialogCellProtection).show ‘顯示“單元格格式”中的“保護(hù)”選項(xiàng)卡
注:無法一次顯示帶選項(xiàng)卡的“單元格格式”對(duì)話框,只能一次顯示一個(gè)選項(xiàng)卡。
(156) Application.Dialogs(xlDialogFormulaGoto).show Range("b2"), True ‘顯示“引用位置”的默認(rèn)單元格區(qū)域并顯示引用使其出現(xiàn)在窗口左上角(注:內(nèi)置對(duì)話框參數(shù)的使用)
(157) Application.CommandBars(1).Controls(2).Controls(16).Execute ‘執(zhí)行“定位”話框,相當(dāng)于選擇菜單“編輯——定位”命令
(158) Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一個(gè)垂直的數(shù)組
(159) Application.Version ‘返回使用的Excel版本號(hào)
(160) Application.Cursor = xlNorthwestArrow ‘設(shè)置光標(biāo)形狀為北西向箭頭
Application.Cursor = xlIBeam ‘設(shè)置光標(biāo)形狀為Ⅰ字形
Application.Cursor = xlWait ‘設(shè)置光標(biāo)形狀為沙漏(等待)形
Application.Cursor = xlDefault ‘恢復(fù)光標(biāo)的默認(rèn)設(shè)置
(161) Application.WindowState ‘返回窗口當(dāng)前的狀態(tài)
Application.WindowState = xlMinimized ‘窗口最小化
Application.WindowState = xlMaximized ‘窗口最大化
Application.WindowState = xlNormal ‘窗口正常狀態(tài)
(162) Application.UsableHeight ‘獲取當(dāng)前窗口的高度
Application.UsableWidth ‘獲取當(dāng)前窗口的寬度
(163) Application.ActiveCell.Address ‘返回活動(dòng)單元格的地址(注:返回的是絕對(duì)地址)
(164) Application.ActivePrinter ‘返回當(dāng)前打印機(jī)的名稱
(165) Application.ActiveSheet.Name ‘返回活動(dòng)工作表的名稱
(166) Application.ActiveWindow.Caption ‘返回活動(dòng)窗口的標(biāo)題
(167) Application.ActiveWorkbook.Name ‘返回活動(dòng)工作簿的名稱
(168) Application.Selection.Address ‘返回所選區(qū)域的地址
(169) Application.ThisWorkbook.Name ‘返回當(dāng)前工作簿的名稱
(170) Application.CalculationVersion ‘返回Excel計(jì)算引擎版本(右邊四位數(shù)字)及Excel版本(左邊兩位數(shù)字)
(171) Application.MemoryFree ‘以字節(jié)為單位返回Excel允許使用的內(nèi)存數(shù)(不包括已經(jīng)使用的內(nèi)存)
(172) Application.MemoryUsed ‘以字節(jié)為單位返回Excel當(dāng)前使用的內(nèi)存數(shù)
(173) Application.MemoryTotal ‘以字節(jié)為單位返回Excel可以使用的內(nèi)存數(shù)(包括已使用的內(nèi)存,是MemoryFree和MemoryUsed的總和)
(174) Application.OperatingSystem ‘返回所使用的操作系統(tǒng)的名稱和版本
(175) Application.OrganizationName ‘返回Excel產(chǎn)品登記使用的組織機(jī)構(gòu)的名稱
(176) Application.FindFormat ‘查找的格式種類
Application.ReplaceFormat ‘替換查找到的內(nèi)容的格式種類
ActiveSheet.Cells.Replace What:=” “, _
Replacement:=” “,SearchFormat:=True,ReplaceFormat:=True ‘替換查找到的格式
(177) Application.Interactive=False ‘忽略鍵盤或鼠標(biāo)的輸入
(178) Application.Evaluate("Rate") ‘若在工作表中定義了常量0.06的名稱為”Rate”,則本語句將返回值0.06
(179) Application.OnUndo “Undo Option”,“Undo Procedure” ‘選擇UndoOption后,將執(zhí)行Undo Procedure過程
*******************************************************
Range對(duì)象
(180) Range(A1:A10).value="/Application.WorksheetFunction.Transpose(MyArray)" ‘將一個(gè)含有10個(gè)元素的數(shù)組轉(zhuǎn)置成垂直方向的工作表單元格區(qū)域(A1至A10)
注:因?yàn)楫?dāng)把一維數(shù)組的內(nèi)容傳遞給某個(gè)單元格區(qū)域時(shí),該單元格區(qū)域中的單元格必須是水平方向的,即含有多列的一行。若必須使用垂直方向的單元格區(qū)域,則必須先將數(shù)組進(jìn)行轉(zhuǎn)置,成為垂直的。
(181) Range(“A65536”).End(xlUp).Row+1 ‘返回A列最后一行的下一行
(182) rng.Range(“A1”) ‘返回區(qū)域左上角的單元格
(183) cell.Parent.Parent.Worksheets ‘訪問當(dāng)前單元格所在的工作簿
(184) Selection.Font.Bold=Not Selection.Font.Bold ‘切換所選單元格是否加粗
(185) ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), _
Header:=xlYes ‘兩個(gè)關(guān)鍵字排序,相鄰兩列,B列為主關(guān)鍵字,A列為次關(guān)鍵字,升序排列
(186) cell.Range(“A1”).NumberFormat ‘顯示單元格或單元格區(qū)域中的第一個(gè)單元格的數(shù)字格式
(187) cell.Range(“A1”).HasFormula ‘檢查單元格或單元格區(qū)域中的第一個(gè)單元格是否含有公式
或cell.HasFormula ‘工作表中單元格是否含有公式
(188) Cell.EntireColumn ‘單元格所在的整列
Cell.EntireRow ‘單元格所在的整行
(189) rng.Name.Name ‘顯示rng區(qū)域的名稱
(190) rng.Address ‘返回rng區(qū)域的地址
(191) cell.Range(“A1”).Formula ‘返回包含在rng區(qū)域中左上角單元格中的公式。
注:若在一個(gè)由多個(gè)單元格組成的范圍內(nèi)使用Formula屬性,會(huì)得到錯(cuò)誤;若單元格中沒有公式,會(huì)得到一個(gè)字符串,在公式欄中顯示該單元格的值。
(192) Range(“D5:D10”).Cells(1,1) ‘返回單元格區(qū)域D5:D10中左上角單元格
(193) ActiveCell.Row ‘活動(dòng)單元格所在的行數(shù)
ActiveCell.Column ‘活動(dòng)單元格所在的列數(shù)
(194) Range("A1:B1").HorizontalAlignment = xlLeft ‘當(dāng)前工作表中的單元格區(qū)域數(shù)據(jù)設(shè)置為左對(duì)齊
(195) ActiveSheet.Range(“A2:A10”).NumberFormat=”#,##0” ‘設(shè)置單元格區(qū)域A2至A10中數(shù)值格式
(196) rng.Replace “ “,”0” ‘用0替換單元格區(qū)域中的空單元格
*******************************************************
Collection與object
(197) Dim colMySheets As New Collection
Public colMySheets As New Collection ‘聲明新的集合變量
(198) Set MyRange=Range(“A1:A5”) ‘創(chuàng)建一個(gè)名為MyRange的對(duì)象變量
(199)