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