天天看點

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.Worksheet

Function.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 \'移除清單框中選中的條目

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 過程

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替換單元格區域中的空單元格

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) \'向集合中添加惟一的條目(即将重複的條目忽略)

200、Declare Function GetWindowsDirectoryA Lib ""kernel32" (ByVal lpBuffer As String,ByVal nSize As Long) As Long \'API 函數聲明。傳回安裝 Windows 所在的目錄名稱,調用該函數後,安裝 Windows 的目錄名稱将在第一個參數 lpBuffer中,該目錄名稱的字元串長度包含在第二個參數 nSize 中

201、Set objExcel = CreateObject("Excel.Application")objExcel.Workbooks.Add \'建立Excel 工作簿

202、Application.ActivateMicrosoftApp xlMicrosoftWord \'開啟Word應用程式

203、Application.TemplatesPath \'擷取工作簿模闆的位置

204、Application.Calculation = xlCalculationManual \'設定工作簿手動計算

Application.Calculation = xlCalculationAutomatic \'工作簿自動計算

205、Worksheets(1).EnableCalculation = False \'不對第一張工作表自動進行重算

206、Application.CalculateFull \'重新計算所有打開的工作簿中的資料

207、Application.RecentFiles.Maximum = 5 \'将最近使用的文檔清單數設為5

208、Application.RecentFiles(4).Open \'打開最近打開的文檔中的第4個文檔

209、Application.OnTime DateSerial(2006,6,6)+TimeValue(""16:16:16"),""BaoPo"  \'在2006年6月6日的16:16:16開始運作BaoPo過程

210、Application.Speech.Speak ("Hello" & Application.UserName) \'播放聲音,并使用使用者的姓名問候使用者

211、MsgBox Application.PathSeparator \'擷取"\"号

212、MsgBox Application.International(xlCountrySetting) \'傳回應用程式目前所在國家的設定資訊

213、Application.AutoCorrect.AddReplacement "葛洲壩", "三峽" \'自動将在工作表中進行輸入的"葛洲壩"更正為"三峽"

214、Beep \'讓計算機發出聲音

215、Err.Number \'傳回錯誤代碼

216、MsgBox IMEStatus \'擷取輸入法狀态

217、Date = #6/6/2006#Time = #6:16:16 AM# \'将系統時間更改為2006年6月6日上午6時16分16秒

218、Application.RollZoom = Not Application.RollZoom \'切換是否能利用滑鼠中間的滑輪放大/縮小工作表

219、Application.ShowWindowsInTaskba = True \'顯示工作列中的視窗,即各工作簿占用各自的視窗

220、Application.DisplayScrollBars = True \'顯示視窗上的滾動條

221、Application.DisplayFormulaBar = Not Application.DisplayFormulaBar \'切換是否顯示編輯欄

222、Application.Dialogs(xlDialogPrint).Show \'顯示列印内容對話框

223、Application.MoveAfterReturnDirection = xlToRight \'設定按Enter鍵後單元格的移動方向向右

224、 Application.FindFile \'顯示打開對話框

225、ThisWorkbook.FollowHyperlink http://fanjy.blog.excelhome.net  \'打開超連結文檔,呵呵,作者的Blog

ThisWorkbook.FollowHyperlink http://www.excelba.com                 \'偶的小站*~_~*

226、ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly \'将目前工作簿設定為隻讀

227、ActiveWorkbook.AddToFavorites \'将目前工作簿添加到收藏夾檔案夾中

228、ActiveSheet.CheckSpelling \'在目前工作表中執行"拼寫檢查"

229、ActiveSheet.Protect userinterfaceonly:=True \'保護目前工作表

230、ActiveSheet.PageSetup.LeftHeader = ThisWorkbook.FullName \'在目前工作表的左側頁眉處列印出工作簿的完整路徑和檔案名

231、Worksheets("Sheet1").Range("A1:G37").Locked

 = FalseWorksheets("Sheet1").Protect

\'解除對工作表Sheet1中A1:G37區域單元格的鎖定

\'以便當該工作表受保護時也可對這些單元格進行修改

232、Worksheets("Sheet1").PrintPreview \'顯示工作表sheet1的列印預覽視窗

233、ActiveSheet.PrintPreview Enablechanges:=False \'禁用顯示在Excel 的""列印預覽"視窗中的""設定"和""頁邊距"按鈕

234、ActiveSheet.PageSetup.PrintGridlines = True \'在列印預覽中顯示網格線

ActiveSheet.PageSetup.PrintHeadings = True \'在列印預覽中顯示行列編号

235、ActiveSheet.ShowDataForm \'開啟資料記錄單

236、Worksheets("Sheet1").Columns("A").Replace What:="SIN", Replacement:="COS", SearchOrder:=xlByColumns, MatchCase:=True \'将工作表sheet1中A列的SIN替換為COS

237、Rows(2).Delete \'删除目前工作表中的第2行

Columns(2).Delete \'删除目前工作表中的第2列

238、ActiveWindow.SelectedSheets.VPageBreaks.Add before:=ActiveCell \'在目前單元格左側插入一條垂直分頁符

ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell \'在目前單元格上方插入一條垂直分頁符

239、ActiveWindow.ScrollRow = 14 \'将目前工作表視窗滾動到第14行

ActiveWindow.ScrollColumn = 13 \'将目前工作表視窗滾動到第13列

240、ActiveWindow.Close \'關閉目前視窗

241、ActiveWindow.Panes.Count \'擷取目前視窗中的窗格數

242、Worksheets("sheet1").Range("A1:D2").CreateNames Top:=True \'将A2至D2的單元格名稱設定為A1到D1單元格的内容

243、Application.AddCustomList listarray:=Range("A1:A8") \'自定義目前工作表中單元格A1至A8中的内容為自動填充序列

244、Worksheets("sheet1").Range("A1:B2").CopyPicture xlScreen, xlBitmap \'将單元格A1至B2的内容複制成螢幕快照

245、Selection.Hyperlinks.Delete \'删除所選區域的所有連結

Columns(1).Hyperlinks.Delete \'删除第1列中所有的連結

Rows(1).Hyperlinks.Delete \'删除第1行中所有的連結

Range("A1:Z30").Hyperlinks.Delete \'删除指定範圍所有的連結

246、ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Address:="C:\Windows\System32\Calc.exe", ScreenTip:="  按下我, 就會開啟Windows  電腦", TextToDisplay:="Windows 電腦" \'在活動單元格中設定開啟Windows電腦連結

247、ActiveCell.Value = Shell("C:\Windows\System32\Calc.exe", vbNormalFocus) \'開啟Windows電腦

248、ActiveSheet.Rows(1).AutoFilter \'打開自動篩選。若再運作一次,則關閉自動篩選

249、Selection.Autofilter \'開啟/關閉所選區域的自動篩選

250、ActiveSheet.ShowAllData \'關閉自動篩選

251、ActiveSheet.AutoFilterMode \'檢查自動篩選是否開啟,若開啟則該語句傳回True

252、ActiveSheet.Columns("A").ColumnDifferences(Comparison:=ActiveSheet. Range("A2")).Delete \'在A列中找出與單元格A2内容不同的單元格并删除

253、ActiveSheet.Range("A6").ClearNotes \'删除單元格A6中的批注,包括聲音批注和文字批注

254、ActiveSheet.Range("B8").ClearComments \'删除單元格B8中的批注文字

255、ActiveSheet.Range("A1:D10").ClearFormats \'清除單元格區域A1至D10中的格式

256、ActiveSheet.Range("B2:D2").BorderAround ColorIndex:=5, Weight:=xlMedium, LineStyle:=xlDouble \'将單元格B2至D2區域設定為藍色雙線

257、Range("A1:B2").Item(2, 3)或Range("A1:B2")(2, 3) \'引用單元格C2的資料

Range("A1:B2")(3) \'引用單元格A2

258、ActiveSheet.Cells(1, 1).Font.Bold = TRUE \'設定字型加粗

ActiveSheet.Cells(1, 1).Font.Size = 24 \'設定字型大小為24磅

ActiveSheet.Cells(1, 1).Font.ColorIndex = 3 \'設定字型顔色為紅色

ActiveSheet.Cells(1, 1).Font.Italic = TRUE \'設定字型為斜體

ActiveSheet.Cells(1, 1).Font.Name = "Times New Roman" \'設定字型類型

ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 \'将單元格的背景色設定為紅色

259、ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3 \'将目前工作表中單元格區域C2至E6格式自動調整為彩色3格式

260、Cells.SpecialCells(xlCellTypeLastCell) \'選中目前工作表中的最後一個單元格

261、ActiveCell.CurrentArray.Select \'標明包含活動單元格的整個數組單元格區域.假定該單元格在資料單元格區域中

262、ActiveCell.NumberFormatLocal = "0.000; [紅色] 0.000" \'将目前單元格數字格式設定為帶3位小數,若為負數則顯示為紅色

263、 IsEmpty (ActiveCell.Value) \'判斷活動單元格中是否有值

264、ActiveCell.Value = LTrim(ActiveCell.Value) \'删除字元串前面的空白字元

265、Len(ActiveCell.Value) \'擷取活動單元格中字元串的個數

266、ActiveCell.Value = UCase(ActiveCell.Value) \'将目前單元格中的字元轉換成大寫

267、ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) \'将活動單元格中的字元串轉換成小寫

268、ActiveSheet.Range("C1").AddComment \'在目前工作表的單元格C1中添加批注

269、Weekday(Date) \'擷取今天的星期,以數值表示,1-7分别對應星期日至星期六

270、ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10, 1)) \'将單元格A1的數值填充到單元格A1至A10區域中

271、DatePart("y", Date) \'擷取今天在全年中的天數

272、ActiveCell.Value = DateAdd("yyyy", 2, Date) \'擷取兩年後的今天的日期

273、MsgBox WeekdayName(Weekday(Date)) \'擷取今天的星期數

274、 ActiveCell.Value = Year(Date) \'在目前單元格中輸入今年的年份數

ActiveCell.Value = Month(Date) \'在目前單元格中輸入今天所在的月份數

ActiveCell.Value = Day(Date) \'在目前單元格中輸入今天的日期數

275、ActiveCell.Value = MonthName(1) \'在目前單元格中顯示月份的名稱,本句為顯示"一月"

276、ActiveCell.Value = Hour(Time) \'在目前單元格中顯示現在時間的小時數

ActiveCell.Value = Minute(Time) \'在目前單元格中顯示現在時間的分鐘數

ActiveCell.Value = Second(Time) \'在目前單元格中顯示現在時間的秒數

277、ActiveSheet.Shapes(1).Delete \'删除目前工作表中的第一個形狀

278、ActiveSheet.Shapes.Count \'擷取目前工作表中形狀的數量

279、ActiveSheet.Shapes(1).TextEffect.ToggleVerticalText \'改變目前工作表中第一個藝術字的方向

280、ActiveSheet.Shapes(1).TextEffect.FontItalic = True \'将目前工作表中第一個藝術字的字型設定為斜體

281、ActiveSheet.Shapes.AddTextEffect(msoTextEffect21, "三峽", "Arial Black", 22#, msoFalse, msoFalse, 66#, 80).Select \'在目前工作表中建立一個名為"三峽"的藝術字并對其進行格式設定和選中

282、ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, EndY:=100).Select \'在目前工作表中以(10,10)為起點(250,100)為終點畫一條直線并選中

283、ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, Left:=70, Top:=40, Width:=130, Height:=72).Select \'在目前工作表中畫一個左上角在(70,40),寬為130高為72的三角形并選中

284、ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, Left:=70, Top:=40, Width:=130, Height:=72).Select \'在目前工作表中畫一個以點(70,40)為起點,寬130高72的矩形并選中

285、ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, Left:=70, Top:=40, Width:=130, Height:=72).Select \'在目前工作表中畫一個左上角在(70,40),寬為130高為72的橢圓

286、ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255) \'将目前工作表中第一個形狀的線條顔色變為藍色

287、ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0) \'将目前工作表中第2個形狀的前景色設定為紅色

288、 ActiveSheet.Shapes(1).Rotation = 20 \'将目前工作表中的第1個形狀旋轉20度

289、Selection.ShapeRange.Flip msoFlipHorizontal \'将目前選中的形狀水準翻轉

Selection.ShapeRange.Flip msoFlipVertical \'将目前選中的形狀垂直翻轉

290、Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1 \'将所選取的形狀設定為第1種立體樣式

291、ActiveSheet.Shapes(1).ThreeD.Depth = 20 \'将目前工作表中第一個立體形狀的深度設定為20

292、ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255) \'将目前工作表中第1個立體形狀的進深部分的顔色設為藍色

293、ActiveSheet.Shapes(1).ThreeD.RotationX = 60 \'将目前工作表中的第1個立體形狀沿X軸旋轉60度

ActiveSheet.Shapes(1).ThreeD.RotationY = 60 \'将目前工作表中的第1個立體形狀沿Y軸旋轉60度

294、Selection.ShapeRange.ThreeD.Visible = msoFalse \'将所選擇的立體形狀轉換為平面形狀

295、Selection.ShapeRange.ConnectorFormat.BeginDisconnect \'在形狀中讓指定的連接配接符起點脫離原來所連接配接的形狀

296、ActiveSheet.Shapes(1).PickUp \'複制目前工作表中形狀1的格式

297、ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 260, 160, 180, 30). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" \'在工作簿中建立一個文本框并輸入内容

298、ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 80, 100, 200). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" \'在目前工作表中建立一個水準文本框并輸入内容

299、 ActiveSheet.Shapes.AddPicture "d:\sx.jpg", True, True, 60, 20, 400, 300 \'在目前工作表中插入一張d盤中名為sx 的圖檔

300、ActiveChart.ApplyCustomType xl3DArea \'将目前圖表類型改為三維面積圖

VBA程式設計常用語句(轉載)