| 將學習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中 |
沒有留言:
張貼留言