定制模組行為
(1)強制對模組內所有變數進行聲明
Option Explicit
標記模組為私有,僅對同一工程中其他模組有用,在巨集對話方塊中不顯示
Option Private Module
字串不區分大小寫
Option Compare Text
指定陣列的第一個下標為1
Option Base 1
(2)忽略錯誤繼續執行VBA代碼,避免出現錯誤消息
On Error Resume Next
(3)當錯誤發生時跳轉到過程中的某個位置
On Error GoTo ErrorHandler
(4)恢復正常的錯誤提示
On Error GoTo 0
(5)在程式執行過程中使出現的警告框不顯示
Application.DisplayAlerts = False
(6)關閉螢幕刷新
Application.ScreenUpdating = False
打開螢幕刷新
Application.ScreenUpdating = True
(7)禁用Ctrl+Break中止宏運行的功能
Application.Enable.CancelKey = xlDisabled
*******************************************************
工作簿
(8)創建一個新的工作簿
Workbooks.Add()
(9)啟動名為book1的工作簿
Workbooks("book1.xls").Activate
(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)將Sheet1命名為Sum
Sheets(Sheet1).Name = "Sum"
(21)添加一個新工作表在第一工作表前
ThisWorkbook.Sheets.Add Before:=Worksheets(1)
(22)將當前工作表移至工作表的最後
ActiveSheet.Move After:=ActiveWorkbook. _
Sheets(ActiveWorkbook.Sheets.Count)
(23)同時選擇工作表1和工作表2
Worksheets(Array("sheet1", "sheet2")).Select
(24)刪除工作表1
Sheets("sheet1").Delete
或
Sheets(1).Delete
(25)獲取工作表i的名稱
ActiveWorkbook.Sheets(i).Name
(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)清除活動工作表上單格A1中的內容
Range("A1").ClearContents
清除選定區域內容
Selection.ClearContents
徹底清除A1至D4單格區域的內容,包括格式
Range("A1:D4").Clear
(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)複製單格A1,粘貼到單格B1中
Range("A1").Copy Range("B1")
將單格區域複製到單格F1開始的區域中
Range("A1:D8").Copy Range("F1")
剪切單格區域A1至D8,複製到單格F1開始的區域中
Range("A1:D8").Cut Range("F1")
複製包含A1的單格區域到工作表2中以A1起始的單格區域中
Range("A1").CurrentRegion.Copy Sheets("Sheet2").Range("A1")
註:CurrentRegion屬性等價於定位命令,由一個矩形單格塊組成,周圍是一個或多個空行或列
(39)將值XX輸入到所選單格區域中
ActiveWindow.RangeSelection.Value = XX
(40)活動視窗中選擇的單格數
ActiveWindow.RangeSelection.Count
(41)當前選中區域的單格數
Selection.Count
(42)返回單格中超連結的地址並賦值
GetAddress = Replace(Hyperlinkcell.Hyperlinks(1).Address, "mailto:", "")
(43)檢查單格A1的文本顏色並返回顏色索引
TextColor = Range("A1").Font.ColorIndex
獲取單格A1背景色
Range("A1").Interior.ColorIndex
(44)返回當前工作表的單格數
Cells.Count
(45)啟動當前活動單格下方3行,向右4列的單格
Selection.Range("E4").Select
(46)引單格C5
Cells.Item(5,"C")
引單格C5
Cells.Item(5,3)
(47)指定單格F5
Range("A1").Offset(RowOffset:=4,ColumnOffset:=5)
或
Range("A1").Offset(4, 5)
(48)創建B3:D13區域
Range("B3").Resize(RowSize:=11,ColumnSize:=3)
Rnage("B3").Resize(11,3)
(49)將Data區域擴充2列
Range("Data").Resize(,2)
(50)將Data1和Data2區域連接
Union(Range("Data1"),Range("Data2"))
(51)返回Data1和Data2區域的交叉區域
Intersect(Range("Data1"),Range("Data2"))
(52)單格區域Data中的單格數
Range("Data").Count
單格區域Data中的列數
Range("Data").Columns.Count
單格區域Data中的行數
Range("Data").Rows.Count
(53)當前選中的單格區域中的列數
Selection.Columns.Count
當前選中的單格區域中的行數
Selection.Rows.Count
(54)選中的單格區域所包含的區域數
Selection.Areas.Count
(55)獲取單格區域中使用的第一行的行號
ActiveSheet.UsedRange.Row
(56)獲取單格區域Rng左上角單格所在列編號
Rng.Column
(57)在活動工作表中返回所有符合條件格式設置的區域
ActiveSheet.Cells.SpecialCells (xlCellTypeAllFormatConditions)
(58)關閉由於執行自動篩選命令產生的第3個欄位的下拉清單
Range("A1").AutoFilter Field:=3, VisibleDropDown:=False
*******************************************************
名稱
(59)命名A1:C3區域為computer
Range("A1:C3").Name = "computer"
命名局部變數,即Sheet1上區域D1:E6為book
或
Range("D1:E6").Name = "Sheet1!book"
將區域computer重命名為robot
或
Names("computer").Name = "robot"
(60)刪除名稱
Names("book").Delete
(61)動態命名列
Names.Add Name:="ContentList", _
RefersTo:="=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))"
(62)命名字串CompanyCar
Names.Add Name:="Company", RefersTo:="CompanyCar"
(63)將數字123456命名為Total。注意數位不能加引號,否則就是命名字串了。
Names.Add Name:="Total", RefersTo:=123456
(64)將陣列ArrayNum命名為MyArray。
Names.Add Name:="MyArray", RefersTo:=ArrayNum
(65)將名稱隱藏
Names.Add Name:="ProduceNum", RefersTo:="=$B$1", Visible:=False
(66)返回名稱字串
ActiveWorkbook.Names("Com").Name
*******************************************************
公式與函數
(67)使用工作表函數檢查A1單格中的資料是否為數位
Application.WorksheetFunction.IsNumber ("A1")
(68)
Range("A:A").Find(Application.WorksheetFunction.Max(Range("A:A"))).Activate
啟動單格區域A列中最大值的單格
(69)在單格中輸入陣列公式。注意必須使用R1C1樣式的運算式
Cells(8, 8).FormulaArray = "=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)"
*******************************************************
圖表
(70)獲取當前工作表中圖表的個數
ActiveSheet.ChartObjects.Count
(71)選中當前工作表中圖表Chart1
ActiveSheet.ChartObjects("Chart1").Select
(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)將圖表1導出到C盤上並命名為MyChart.gif
Worksheets("Sheet1").ChartObjects(1).Chart. _
Export Filename:="C:MyChart.gif", FilterName:="GIF"
*******************************************************
表單
(80)訊息方塊中顯示消息Hello
MsgBox "Hello!"
(81)在訊息方塊中點擊"是"按鈕,則Ans值為vbYes;點擊"否"按鈕,則Ans值為vbNo。
Ans = MsgBox("Continue?", vbYesNo)
返回值不為"是",則退出
If MsgBox("Continue?", vbYesNo) <> vbYes Then Exit Sub
(82)使用常量的組合,賦值組Config變數,並設置第二個按鈕為缺省按鈕
Config = vbYesNo + vbQuestion + vbDefaultButton2
(83)在訊息方塊中強制換行,可用vbCrLf代替vbNewLine。
MsgBox "This is the first line." & vbNewLine & "Second line."
(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)在用戶表單中顯示圖形
Picture1.Picture = LoadPicture("C:1.JPG")
(90)將表單設置為無模式狀態
UserForm1.Show 0
或
UserForm1.Show vbModeless
(91)表單高度為當前活動視窗高度的0.88
Me.Height = Int(0.88 * ActiveWindow.Height)
表單寬度為當前活動視窗高度的0.88
Me.Width = Int(0.88 * ActiveWindow.Width)
*******************************************************
事件
(92)禁用所有事件
Application.EnableEvents = False
啟用所有事件
Application.EnableEvents = True
註:不適用於用戶表單控制項觸發的事件
*******************************************************
對像
(93)創建一個Excel工作表物件
Set ExcelSheet = CreateObject("Excel.Sheet")
設置 Application 物件使 Excel 可見
ExcelSheet.Application.Visible = True
在表格的第一個單元中輸入文本
ExcelSheet.Application.Cells(1, 1).Value = "Data"
將該表格保存到C:test.xls 目錄
ExcelSheet.SaveAs "C:TEST.XLS"
關閉 Excel
ExcelSheet.Application.Quit
釋放該物件變數
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)創建一個 Dictionary 物件變數
Set d = CreateObject(Scripting.Dictionary)
(97)為物件變數添加關鍵字和條目
d.Add "a", "Athens"
*******************************************************
其他
(98)設置Ctrl+I鍵為macro過程的快捷鍵
Application.OnKey "^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)返回當前工作簿的讀/寫值(為False)
ThisWorkbook.ReadOnly
ActiveWorkbook.ReadOnly
(110)返回工作簿的存儲值(若已保存則為False)
ThisWorkbook.Saved
ActiveWorkbook.Saved
(111)隱藏工作簿
Application.Visible = False
顯示工作簿
Application.Visible = True
注:可與用戶表單配合使用,即在打開工作簿時將工作簿隱藏,只顯示用戶表單.可設置控制按鈕控制工作簿可見
*******************************************************
工作表
(112)在A列右側插入列,即插入B列
ActiveSheet.Columns("B").Insert
ActiveSheet.Columns("E").Cut
以上兩句將E列資料移至B列,原B列及以後的資料相應後移
ActiveSheet.Columns("B").Insert
ActiveSheet.Columns("B").Cut
以上兩句將B列資料移至D列,原C列和D列資料相應左移一列
ActiveSheet.Columns("E").Insert
(113)計算當前工作表
ActiveSheet.Calculate
(114)正常隱藏工作表,同在Excel功能表中選擇"格式--工作表--隱藏"操作一樣
ThisWorkbook.Worksheets("sheet1").Visible = xlSheetHidden
隱藏工作表,不能通過在Excel功能表中選擇"格式--工作表--取消隱藏"來重新顯示工作表
ThisWorkbook.Worksheets("sheet1").Visible = xlSheetVeryHidden
顯示被隱藏的工作表
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)改變工作表的列寬為20
ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20
將工作表的列寬恢復為標準值
ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _
ThisWorkbook.ActiveSheet.StandardWidth
改變工作表列1的寬度為20
ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20
(120)改變工作表的行高為10
ThisWorkbook.ActiveSheet.Rows.RowHeight = 10
將工作表的行高恢復為標準值
ThisWorkbook.ActiveSheet.Rows.RowHeight = _
ThisWorkbook.ActiveSheet.StandardHeight
改變工作表的行1的高度值設置為10
ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10
(121)當前工作簿中的第一個工作表被啟動
ThisWorkbook.Worksheets(1).Activate
(122)設置工作表Sheet1中的行1資料為粗體
ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True
(123)將工作表Sheet1中的行1隱藏
ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True
將當前工作表中活動單格所在的行隱藏
ActiveCell.EntireRow.Hidden = True
註:同樣可用於列。
(124)自動調整當前工作表A列列寬
ActiveSheet.Range("A:A").EntireColumn.AutoFit
(125)選中當前工作表中常量和文本單格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues)
選中當前工作表中常量和文本及錯誤值單格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues)
*******************************************************
公式與函數
(126)將自定義的SumPro函數指定給Excel中的"統計函數"類別
Application.MacroOptions Macro:="SumPro", Category:=4
(127)為自定義函數SumPro進行了功能說明
Application.MacroOptions Macro:="SumPro", _
Description:="First Sum,then Product"
(128)獲取A列的下一個空單格
Application.WorksheetFunction.CountA (Range("A:A")) + 1
(129)返回該單格所在列非空單格的數量
WorksheetFunction.CountA (Cell.EntireColumn)
返回該單格所在行非空單格的數量
WorksheetFunction.CountA (Cell.EntireRow)
(130)返回工作表中非空單格數量
WorksheetFunction.CountA (Cells)
(131)對A列至D列前19個數值求和
ActiveSheet.Range("A20:D20").Formula = "=Sum(R[-19]C:R[-1]C"
*******************************************************
圖表
(132)使圖表處於非活動狀態
ActiveWindow.Visible = False
或
ActiveChart.Deselect
(133)若選中的為圖表,則該語句為真,否則為假
TypeName(Selection) = "Chart"
(134)刪除工作表上所有的ChartObject物件
ActiveSheet.ChartObjects.Delete
刪除當前工作簿中所有的圖表工作表
ActiveWorkbook.Charts.Delete
*******************************************************
表單和控制項
(135)添加用戶表單MyForm並顯示
UserForms.Add(MyForm).Show
(136)設置文本框獲取輸入焦點
TextName.SetFocus
(137)將數值調節鈕控制項的值改為0
SpinButton1.Value = 0
(138)將數值調節鈕控制項的值賦值給文本框控制項
TextBox1.Text = SpinButton1.Value
將文本框控制項值賦給數值調節鈕控制項
SpinButton1.Value = "/Val(TextBox1.Text)"
數值調節鈕控制項和文本框控制項相比較
CStr(SpinButton1.Value)=TextBox1.Text
(139)顯示表單UserForm1上的控制項數目
UserForm1.Controls.Count
(140)在列表框中添加Command1
ListBox1.AddItem "Command1"
(141)返回列表框中條目的值,若為-1,則表明未選中任何列表框中的條目
ListBox1.ListIndex
(142)返回代表單格區域位址的文本字串
RefEdit1.Text
初始化RefEdit控制項顯示當前所選單格區域
RefEdit1.Text = ActiveWindow.RangeSelection.Address
設置某單格區域左上角單格
Set FirstCell = Range(RefEdit1.Text).Range("A1")
(143)等待15秒後運行myProcedure過程
Application.OnTime Now + TimeValue("00:00:15"), "myProcedure"
(144)將捲軸控制項的值賦值給ActiveWindow物件的ScrollColumn屬性
ActiveWindow.ScrollColumn = ScrollBarColumns.Value
將捲軸控制項的值賦值給ActiveWindow物件的ScrollRow屬性
ActiveWindow.ScrollRow = ScrollBarRows.Value
(145)將單格A1中的資料添加到列表框中
UserForm1.ListBox1.AddItem Sheets("Sheet1").Cells(1, 1)
將一個名為Product陣列的值添加到ListBox1中
ListBox1.List = Product
使用工作表Sheet2中的SumP區域的值填充列表框
ListBox1.RowSource = "Sheet2!SumP"
(146)選中列表框中的第一個條目(註:當列表框允許一次選中多個條目時,必須使用Selected屬性)
ListBox1.Selected (0)
(147)移除列表框中選中的條目
ListBox1.RemoveItem ListBox1.ListIndex
*******************************************************
對像
Application對像
(148)返回應用程式的用戶名
Application.UserName
(149)返回代表調用函數的單格
Application.Caller
(150)返回調用函數的工作簿名稱
Application.Caller.Parent.Parent
(151)將文本寫到狀態欄
Application.StatusBar = "請等待……"
更新狀態欄文本,以變數Percent代表完成的百分比
Application.StatusBar = "請等待……" & Percent & "% Completed"
將狀態欄重新設置成正常狀態
Application.StatusBar = False
(152)指定單格區域A1至D4,等同於選擇"編輯--定位",指定單格區域為A1至D4,不會出現"定位"對話方塊
Application.Goto Reference:=Range("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)返回使用的Excel版本號
Application.Version
(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)返回Excel計算引擎版本(右邊四位元數字)及Excel版本(左邊兩位元數字)
Application.CalculationVersion
(171)以位元組為單位返回Excel允許使用的記憶體數(不包括已經使用的記憶體)
Application.MemoryFree
(172)以位元組為單位返回Excel當前使用的記憶體數
Application.MemoryUsed
(173)以位元組為單位返回Excel可以使用的記憶體數(包括已使用的記憶體,是MemoryFree和MemoryUsed的總和)
Application.MemoryTotal
(174)返回所使用的作業系統的名稱和版本
Application.OperatingSystem
(175)返回Excel產品登記使用的組織機構的名稱
Application.OrganizationName
(176)查找的格式種類
Application.FindFormat
替換查找到的內容的格式種類
Application.ReplaceFormat
替換查找到的格式
ActiveSheet.Cells.Replace What:=" ", _
Replacement:=" ", SearchFormat:=True, ReplaceFormat:=True
(177)忽略鍵盤或滑鼠的輸入
Application.Interactive = False
(178)若在工作表中定義了常量0.06的名稱為"Rate",則本語句將返回值0.06
Application.Evaluate ("Rate")
(179)選擇UndoOption後,將執行Undo Procedure過程
Application.OnUndo "Undo Option", "Undo Procedure"
*******************************************************
Range對像
(180)將一個含有10個元素的陣列轉置成垂直方向的工作表單格區域(A1至A10)
Range(A1:A10).value="/Application.WorksheetFunction.Transpose(MyArray)"
註:因為當把一維陣列的內容傳遞給某個單格區域時,該單格區域中的單格必須是水準方向的,即含有多列的一行。若必須使用垂直方向的單格區域,則必須先將陣列進行轉置,成為垂直的。
(181)返回A列最後一行的下一行
Range("A65536").End(xlUp).Row 1
(182)返回區域左上角的單格
rng.Range ("A1")
(183)訪問當前單格所在的工作簿
Cell.Parent.Parent.Worksheets
(184)切換所選單格是否加粗
Selection.Font.Bold = Not Selection.Font.Bold
(185)兩個關鍵字排序,相鄰兩列,B列為主關鍵字,A列為次關鍵字,昇冪排列
ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), _
Header:=xlYes
(186)顯示單格或單格區域中的第一個單格的數字格式
Cell.Range("A1").NumberFormat
(187)檢查單格或單格區域中的第一個單格是否含有公式
Cell.Range("A1").HasFormula
工作表中單格是否含有公式
或cell.HasFormula
(188)單格所在的整列
Cell.EntireColumn
單格所在的整行
Cell.EntireRow
(189)顯示rng區域的名稱
rng.Name.Name
(190)返回rng區域的位址
rng.Address
(191)返回包含在rng區域中左上角單格中的公式。
Cell.Range("A1").Formula
註:若在一個由多個單格組成的範圍內使用Formula屬性,會得到錯誤;若單格中沒有公式,會得到一個字串,在公式欄中顯示該單格的值。
(192)返回單格區域D5:D10中左上角單格
Range("D5:D10").Cells(1,1)
(193)活動單格所在的行數
ActiveCell.Row
活動單格所在的列數
ActiveCell.Column
(194)當前工作表中的單格區域資料設置為左對齊
Range("A1:B1").HorizontalAlignment = xlLeft
(195)設置單格區域A2至A10中數值格式
ActiveSheet.Range("A2:A10").NumberFormat = "#,##0"
(196)用0替換單格區域中的空單格
rng.Replace " ", "0"
*******************************************************
Collection與object
(197)
Dim colMySheets As New Collection
聲明新的集合變數
Public colMySheets As New Collection
(198)創建一個名為MyRange的物件變數
Set MyRange = Range("A1:A5")
(199)向集合中添加惟一的條目(即將重複的條目忽略)
objColl.Add Cell.Value, CStr(Cell.Value)
*******************************************************
Windows API
(200)API函數聲明。
返回安裝Windows所在的目錄名稱,調用該函數後,安裝Windows的目錄名稱將在第一個參數lpBuffer中,該目錄名稱的字串長度包含在第二個參數nSize中
Declare Function GetWindowsDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
(201)
Set objExcel = CreateObject("Excel.Application")
創建Excel工作簿
objExcel.Workbooks.Add
(202)開啟Word應用程式
Application.ActivateMicrosoftApp xlMicrosoftWord
(203)獲取工作簿範本的位置
Application.TemplatesPath
(204)設置工作簿手動計算
Application.Calculation = xlCalculationManual
工作簿自動計算
Application.Calculation = xlCalculationAutomatic
(205)不對第一張工作表自動進行重算
Worksheets(1).EnableCalculation = False
(206)重新計算所有打開的工作簿中的資料
Application.CalculateFull
(207)將最近使用的文檔列表數設為5
Application.RecentFiles.Maximum = 5
(208)打開最近打開的文檔中的第4個文檔
Application.RecentFiles(4).Open
(209)在2006年6月6日的16:16:16開始運行BaoPo過程
Application.OnTime DateSerial(2006, 6, 6) + TimeValue("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#
將系統時間更改為2006年6月6日上午6時16分16秒
Time = #6:16:16 AM#
(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)設置按Enter鍵後單格的移動方向向右
Application.MoveAfterReturnDirection = xlToRight
(224)顯示打開對話方塊
Application.FindFile
(225)打開超鏈結文檔
ThisWorkbook.FollowHyperlink "http://"
(226)將當前工作簿設置為唯讀
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
(227)將當前工作簿添加到收藏夾文件夾中
ActiveWorkbook.AddToFavorites
(228)在當前工作表中執行"拼寫檢查"
ActiveSheet.CheckSpelling
(229)保護當前工作表
ActiveSheet.Protect userinterfaceonly:=True
(230)在當前工作表的左側頁眉處列印出工作簿的完整路徑和檔案名
ActiveSheet.PageSetup.LeftHeader = ThisWorkbook.FullName
(231)
解除對工作表Sheet1中A1:G37區域單格的鎖定,以便當該工作表受保護時也可對這些單格進行修改
Worksheets("Sheet1").Range("A1:G37").Locked = False
Worksheets("Sheet1").Protect
(232)顯示工作表sheet1的列印預覽視窗
Worksheets("Sheet1").PrintPreview
(233)禁用顯示在Excel的"列印預覽"視窗中的"設置"和"頁邊距"按鈕
ActiveSheet.PrintPreview Enablechanges:=False
(234)在列印預覽中顯示格線
ActiveSheet.PageSetup.PrintGridlines = True
在列印預覽中顯示行列編號
ActiveSheet.PageSetup.PrintHeadings = True
(235)開啟資料記錄單
ActiveSheet.ShowDataForm
(236)
將工作表sheet1中A列的SIN替換為COS
Worksheets("Sheet1").Columns("A").Replace _
What:="SIN", Replacement:="COS", _
SearchOrder:=xlByColumns, MatchCase:=True
(237)刪除當前工作表中的第2行
Rows(2).Delete
刪除當前工作表中的第2列
Columns(2).Delete
(238)在當前單格左側插入一條垂直分頁符
ActiveWindow.SelectedSheets.VPageBreaks.Add before:=ActiveCell
在當前單格上方插入一條垂直分頁符
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
(239)將當前工作表視窗滾動到第14行
ActiveWindow.ScrollRow = 14
將當前工作表視窗滾動到第13列
ActiveWindow.ScrollColumn = 13
(240)關閉當前窗口
ActiveWindow.Close
(241)獲取當前視窗中的窗格數
ActiveWindow.Panes.Count
(242)將A2至D2的單格名稱設定為A1到D1單格的內容
Worksheets("sheet1").Range("A1:D2").CreateNames Top:=True
(243)自定義當前工作表中單格A1至A8中的內容為自動填充序列
Application.AddCustomList listarray:=Range("A1:A8")
(244)將單格A1至B2的內容複製成螢幕快照
Worksheets("sheet1").Range("A1:B2").CopyPicture xlScreen, xlBitmap
(245)刪除所選區域的所有鏈結
Selection.Hyperlinks.Delete
刪除第1列中所有的鏈結
Columns(1).Hyperlinks.Delete
刪除第1行中所有的鏈結
Rows(1).Hyperlinks.Delete
刪除指定範圍所有的鏈結
Range("A1:Z30").Hyperlinks.Delete
(246)在活動單格中設置開啟Windows計算器鏈結器
ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, _
Address:="C:WindowsSystem32Calc.exe", ScreenTip:="按下我,就會開啟Windows計算器", TextToDisplay:="Windows計算"
(247)開啟Windows計算器
ActiveCell.Value = Shell("C:WindowsSystem32Calc.exe", vbNormalFocus)
(248)打開自動篩選。若再運行一次,則關閉自動篩選
ActiveSheet.Rows(1).AutoFilter
(249)開啟/關閉所選區域的自動篩選
Selection.AutoFilter
(250)關閉自動篩選
ActiveSheet.ShowAllData
(251)檢查自動篩選是否開啟,若開啟則該語句返回True
ActiveSheet.AutoFilterMode
(252)在A列中找出與單格A2內容不同的單格並刪除
ActiveSheet.Columns("A").ColumnDifferences(Comparison:=ActiveSheet. _
Range("A2")).Delete
(253)刪除單格A6中的批註,包括聲音批註和文字批註
ActiveSheet.Range("A6").ClearNotes
(254)刪除單格B8中的註解文字
ActiveSheet.Range("B8").ClearComments
(255)清除單格區域A1至D10中的格式
ActiveSheet.Range("A1:D10").ClearFormats
(256)
將單格B2至D2區域設置為藍色雙線
ActiveSheet.Range("B2:D2").BorderAround ColorIndex:=5, _
Weight:=xlMedium, LineStyle:=xlDouble
(257)引用單格C2的數據
Range("A1:B2").Item(2, 3)
Range("A1:B2")(2, 3)
引用單格A2
Range("A1:B2")(3)
(258)設置字體加粗
ActiveSheet.Cells(1, 1).Font.Bold = True
設置字體大小為24磅
ActiveSheet.Cells(1, 1).Font.Size = 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)將當前工作表中單格區域C2至E6格式自動調整為彩色3格式
ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3
(260)選中當前工作表中的最後一個單格
Cells.SpecialCells (xlCellTypeLastCell)
(261)選定包含活動單格的整個陣列單格區域.假定該單格在資料單格區域中
ActiveCell.CurrentArray.Select
(262)將當前單格數字格式設置為帶3位小數,若為負數則顯示為紅色
ActiveCell.NumberFormatLocal = "0.000; [紅色] 0.000"
(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)在當前工作表的單格C1中添加批註
ActiveSheet.Range("C1").AddComment
(269)獲取今天的星期,以數值表示,1-7分別對應星期日至星期六
Weekday (Date)
(270)將單格A1的數值填充到單格A1至A10區域中
ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10, 1))
(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)在當前工作表中以(10,10)為起點(250,100)為終點畫一條直線並選中
ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, _
EndY:=100).Select
(283)在當前工作表中畫一個左上角在(70,40),寬為130高為72的三角形並選中
ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(284)在當前工作表中畫一個以點(70,40)為起點,寬130高72的矩形並選中
ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(285)在當前工作表中畫一個左上角在(70,40),寬為130高為72的橢圓
ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(286)將當前工作表中第一個形狀的線條顏色變為藍色
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255)
(287)將當前工作表中第2個形狀的前景色設置為紅色
ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0)
(288)將當前工作表中的第1個形狀旋轉20度
ActiveSheet.Shapes(1).Rotation = 20
(289)將當前選中的形狀水準翻轉
Selection.ShapeRange.Flip msoFlipHorizontal
將當前選中的形狀垂直翻轉
Selection.ShapeRange.Flip msoFlipVertical
(290)將所選取的形狀設置為第1種立體樣式
Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1
(291)將當前工作表中第一個立體形狀的深度設置為20
ActiveSheet.Shapes(1).ThreeD.Depth = 20
(292)將當前工作表中第1個立體形狀的進深部分的顏色設為藍色
ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255)
(293)將當前工作表中的第1個立體形狀沿X軸旋轉60度
ActiveSheet.Shapes(1).ThreeD.RotationX = 60
將當前工作表中的第1個立體形狀沿Y軸旋轉60度
ActiveSheet.Shapes(1).ThreeD.RotationY = 60
(294)將所選擇的立體形狀轉換為平面形狀
Selection.ShapeRange.ThreeD.Visible = msoFalse
(295)在形狀中讓指定的連接符起點脫離原來所連接的形狀
Selection.ShapeRange.ConnectorFormat.BeginDisconnect
(296)複製當前工作表中形狀1的格式
ActiveSheet.Shapes(1).PickUp
(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)在當前工作表中插入一張d盤中名為sx的圖片
ActiveSheet.Shapes.AddPicture "d:sx.jpg", True, True, 60, 20, 400, 300
(300)將當前圖表類型改為立體區域圖
ActiveChart.ApplyCustomType xl3DArea
(1)強制對模組內所有變數進行聲明
Option Explicit
標記模組為私有,僅對同一工程中其他模組有用,在巨集對話方塊中不顯示
Option Private Module
字串不區分大小寫
Option Compare Text
指定陣列的第一個下標為1
Option Base 1
(2)忽略錯誤繼續執行VBA代碼,避免出現錯誤消息
On Error Resume Next
(3)當錯誤發生時跳轉到過程中的某個位置
On Error GoTo ErrorHandler
(4)恢復正常的錯誤提示
On Error GoTo 0
(5)在程式執行過程中使出現的警告框不顯示
Application.DisplayAlerts = False
(6)關閉螢幕刷新
Application.ScreenUpdating = False
打開螢幕刷新
Application.ScreenUpdating = True
(7)禁用Ctrl+Break中止宏運行的功能
Application.Enable.CancelKey = xlDisabled
*******************************************************
工作簿
(8)創建一個新的工作簿
Workbooks.Add()
(9)啟動名為book1的工作簿
Workbooks("book1.xls").Activate
(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)將Sheet1命名為Sum
Sheets(Sheet1).Name = "Sum"
(21)添加一個新工作表在第一工作表前
ThisWorkbook.Sheets.Add Before:=Worksheets(1)
(22)將當前工作表移至工作表的最後
ActiveSheet.Move After:=ActiveWorkbook. _
Sheets(ActiveWorkbook.Sheets.Count)
(23)同時選擇工作表1和工作表2
Worksheets(Array("sheet1", "sheet2")).Select
(24)刪除工作表1
Sheets("sheet1").Delete
或
Sheets(1).Delete
(25)獲取工作表i的名稱
ActiveWorkbook.Sheets(i).Name
(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)清除活動工作表上單格A1中的內容
Range("A1").ClearContents
清除選定區域內容
Selection.ClearContents
徹底清除A1至D4單格區域的內容,包括格式
Range("A1:D4").Clear
(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)複製單格A1,粘貼到單格B1中
Range("A1").Copy Range("B1")
將單格區域複製到單格F1開始的區域中
Range("A1:D8").Copy Range("F1")
剪切單格區域A1至D8,複製到單格F1開始的區域中
Range("A1:D8").Cut Range("F1")
複製包含A1的單格區域到工作表2中以A1起始的單格區域中
Range("A1").CurrentRegion.Copy Sheets("Sheet2").Range("A1")
註:CurrentRegion屬性等價於定位命令,由一個矩形單格塊組成,周圍是一個或多個空行或列
(39)將值XX輸入到所選單格區域中
ActiveWindow.RangeSelection.Value = XX
(40)活動視窗中選擇的單格數
ActiveWindow.RangeSelection.Count
(41)當前選中區域的單格數
Selection.Count
(42)返回單格中超連結的地址並賦值
GetAddress = Replace(Hyperlinkcell.Hyperlinks(1).Address, "mailto:", "")
(43)檢查單格A1的文本顏色並返回顏色索引
TextColor = Range("A1").Font.ColorIndex
獲取單格A1背景色
Range("A1").Interior.ColorIndex
(44)返回當前工作表的單格數
Cells.Count
(45)啟動當前活動單格下方3行,向右4列的單格
Selection.Range("E4").Select
(46)引單格C5
Cells.Item(5,"C")
引單格C5
Cells.Item(5,3)
(47)指定單格F5
Range("A1").Offset(RowOffset:=4,ColumnOffset:=5)
或
Range("A1").Offset(4, 5)
(48)創建B3:D13區域
Range("B3").Resize(RowSize:=11,ColumnSize:=3)
Rnage("B3").Resize(11,3)
(49)將Data區域擴充2列
Range("Data").Resize(,2)
(50)將Data1和Data2區域連接
Union(Range("Data1"),Range("Data2"))
(51)返回Data1和Data2區域的交叉區域
Intersect(Range("Data1"),Range("Data2"))
(52)單格區域Data中的單格數
Range("Data").Count
單格區域Data中的列數
Range("Data").Columns.Count
單格區域Data中的行數
Range("Data").Rows.Count
(53)當前選中的單格區域中的列數
Selection.Columns.Count
當前選中的單格區域中的行數
Selection.Rows.Count
(54)選中的單格區域所包含的區域數
Selection.Areas.Count
(55)獲取單格區域中使用的第一行的行號
ActiveSheet.UsedRange.Row
(56)獲取單格區域Rng左上角單格所在列編號
Rng.Column
(57)在活動工作表中返回所有符合條件格式設置的區域
ActiveSheet.Cells.SpecialCells (xlCellTypeAllFormatConditions)
(58)關閉由於執行自動篩選命令產生的第3個欄位的下拉清單
Range("A1").AutoFilter Field:=3, VisibleDropDown:=False
*******************************************************
名稱
(59)命名A1:C3區域為computer
Range("A1:C3").Name = "computer"
命名局部變數,即Sheet1上區域D1:E6為book
或
Range("D1:E6").Name = "Sheet1!book"
將區域computer重命名為robot
或
Names("computer").Name = "robot"
(60)刪除名稱
Names("book").Delete
(61)動態命名列
Names.Add Name:="ContentList", _
RefersTo:="=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))"
(62)命名字串CompanyCar
Names.Add Name:="Company", RefersTo:="CompanyCar"
(63)將數字123456命名為Total。注意數位不能加引號,否則就是命名字串了。
Names.Add Name:="Total", RefersTo:=123456
(64)將陣列ArrayNum命名為MyArray。
Names.Add Name:="MyArray", RefersTo:=ArrayNum
(65)將名稱隱藏
Names.Add Name:="ProduceNum", RefersTo:="=$B$1", Visible:=False
(66)返回名稱字串
ActiveWorkbook.Names("Com").Name
*******************************************************
公式與函數
(67)使用工作表函數檢查A1單格中的資料是否為數位
Application.WorksheetFunction.IsNumber ("A1")
(68)
Range("A:A").Find(Application.WorksheetFunction.Max(Range("A:A"))).Activate
啟動單格區域A列中最大值的單格
(69)在單格中輸入陣列公式。注意必須使用R1C1樣式的運算式
Cells(8, 8).FormulaArray = "=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)"
*******************************************************
圖表
(70)獲取當前工作表中圖表的個數
ActiveSheet.ChartObjects.Count
(71)選中當前工作表中圖表Chart1
ActiveSheet.ChartObjects("Chart1").Select
(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)將圖表1導出到C盤上並命名為MyChart.gif
Worksheets("Sheet1").ChartObjects(1).Chart. _
Export Filename:="C:MyChart.gif", FilterName:="GIF"
*******************************************************
表單
(80)訊息方塊中顯示消息Hello
MsgBox "Hello!"
(81)在訊息方塊中點擊"是"按鈕,則Ans值為vbYes;點擊"否"按鈕,則Ans值為vbNo。
Ans = MsgBox("Continue?", vbYesNo)
返回值不為"是",則退出
If MsgBox("Continue?", vbYesNo) <> vbYes Then Exit Sub
(82)使用常量的組合,賦值組Config變數,並設置第二個按鈕為缺省按鈕
Config = vbYesNo + vbQuestion + vbDefaultButton2
(83)在訊息方塊中強制換行,可用vbCrLf代替vbNewLine。
MsgBox "This is the first line." & vbNewLine & "Second line."
(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)在用戶表單中顯示圖形
Picture1.Picture = LoadPicture("C:1.JPG")
(90)將表單設置為無模式狀態
UserForm1.Show 0
或
UserForm1.Show vbModeless
(91)表單高度為當前活動視窗高度的0.88
Me.Height = Int(0.88 * ActiveWindow.Height)
表單寬度為當前活動視窗高度的0.88
Me.Width = Int(0.88 * ActiveWindow.Width)
*******************************************************
事件
(92)禁用所有事件
Application.EnableEvents = False
啟用所有事件
Application.EnableEvents = True
註:不適用於用戶表單控制項觸發的事件
*******************************************************
對像
(93)創建一個Excel工作表物件
Set ExcelSheet = CreateObject("Excel.Sheet")
設置 Application 物件使 Excel 可見
ExcelSheet.Application.Visible = True
在表格的第一個單元中輸入文本
ExcelSheet.Application.Cells(1, 1).Value = "Data"
將該表格保存到C:test.xls 目錄
ExcelSheet.SaveAs "C:TEST.XLS"
關閉 Excel
ExcelSheet.Application.Quit
釋放該物件變數
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)創建一個 Dictionary 物件變數
Set d = CreateObject(Scripting.Dictionary)
(97)為物件變數添加關鍵字和條目
d.Add "a", "Athens"
*******************************************************
其他
(98)設置Ctrl+I鍵為macro過程的快捷鍵
Application.OnKey "^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)返回當前工作簿的讀/寫值(為False)
ThisWorkbook.ReadOnly
ActiveWorkbook.ReadOnly
(110)返回工作簿的存儲值(若已保存則為False)
ThisWorkbook.Saved
ActiveWorkbook.Saved
(111)隱藏工作簿
Application.Visible = False
顯示工作簿
Application.Visible = True
注:可與用戶表單配合使用,即在打開工作簿時將工作簿隱藏,只顯示用戶表單.可設置控制按鈕控制工作簿可見
*******************************************************
工作表
(112)在A列右側插入列,即插入B列
ActiveSheet.Columns("B").Insert
ActiveSheet.Columns("E").Cut
以上兩句將E列資料移至B列,原B列及以後的資料相應後移
ActiveSheet.Columns("B").Insert
ActiveSheet.Columns("B").Cut
以上兩句將B列資料移至D列,原C列和D列資料相應左移一列
ActiveSheet.Columns("E").Insert
(113)計算當前工作表
ActiveSheet.Calculate
(114)正常隱藏工作表,同在Excel功能表中選擇"格式--工作表--隱藏"操作一樣
ThisWorkbook.Worksheets("sheet1").Visible = xlSheetHidden
隱藏工作表,不能通過在Excel功能表中選擇"格式--工作表--取消隱藏"來重新顯示工作表
ThisWorkbook.Worksheets("sheet1").Visible = xlSheetVeryHidden
顯示被隱藏的工作表
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)改變工作表的列寬為20
ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20
將工作表的列寬恢復為標準值
ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _
ThisWorkbook.ActiveSheet.StandardWidth
改變工作表列1的寬度為20
ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20
(120)改變工作表的行高為10
ThisWorkbook.ActiveSheet.Rows.RowHeight = 10
將工作表的行高恢復為標準值
ThisWorkbook.ActiveSheet.Rows.RowHeight = _
ThisWorkbook.ActiveSheet.StandardHeight
改變工作表的行1的高度值設置為10
ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10
(121)當前工作簿中的第一個工作表被啟動
ThisWorkbook.Worksheets(1).Activate
(122)設置工作表Sheet1中的行1資料為粗體
ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True
(123)將工作表Sheet1中的行1隱藏
ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True
將當前工作表中活動單格所在的行隱藏
ActiveCell.EntireRow.Hidden = True
註:同樣可用於列。
(124)自動調整當前工作表A列列寬
ActiveSheet.Range("A:A").EntireColumn.AutoFit
(125)選中當前工作表中常量和文本單格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues)
選中當前工作表中常量和文本及錯誤值單格
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues)
*******************************************************
公式與函數
(126)將自定義的SumPro函數指定給Excel中的"統計函數"類別
Application.MacroOptions Macro:="SumPro", Category:=4
(127)為自定義函數SumPro進行了功能說明
Application.MacroOptions Macro:="SumPro", _
Description:="First Sum,then Product"
(128)獲取A列的下一個空單格
Application.WorksheetFunction.CountA (Range("A:A")) + 1
(129)返回該單格所在列非空單格的數量
WorksheetFunction.CountA (Cell.EntireColumn)
返回該單格所在行非空單格的數量
WorksheetFunction.CountA (Cell.EntireRow)
(130)返回工作表中非空單格數量
WorksheetFunction.CountA (Cells)
(131)對A列至D列前19個數值求和
ActiveSheet.Range("A20:D20").Formula = "=Sum(R[-19]C:R[-1]C"
*******************************************************
圖表
(132)使圖表處於非活動狀態
ActiveWindow.Visible = False
或
ActiveChart.Deselect
(133)若選中的為圖表,則該語句為真,否則為假
TypeName(Selection) = "Chart"
(134)刪除工作表上所有的ChartObject物件
ActiveSheet.ChartObjects.Delete
刪除當前工作簿中所有的圖表工作表
ActiveWorkbook.Charts.Delete
*******************************************************
表單和控制項
(135)添加用戶表單MyForm並顯示
UserForms.Add(MyForm).Show
(136)設置文本框獲取輸入焦點
TextName.SetFocus
(137)將數值調節鈕控制項的值改為0
SpinButton1.Value = 0
(138)將數值調節鈕控制項的值賦值給文本框控制項
TextBox1.Text = SpinButton1.Value
將文本框控制項值賦給數值調節鈕控制項
SpinButton1.Value = "/Val(TextBox1.Text)"
數值調節鈕控制項和文本框控制項相比較
CStr(SpinButton1.Value)=TextBox1.Text
(139)顯示表單UserForm1上的控制項數目
UserForm1.Controls.Count
(140)在列表框中添加Command1
ListBox1.AddItem "Command1"
(141)返回列表框中條目的值,若為-1,則表明未選中任何列表框中的條目
ListBox1.ListIndex
(142)返回代表單格區域位址的文本字串
RefEdit1.Text
初始化RefEdit控制項顯示當前所選單格區域
RefEdit1.Text = ActiveWindow.RangeSelection.Address
設置某單格區域左上角單格
Set FirstCell = Range(RefEdit1.Text).Range("A1")
(143)等待15秒後運行myProcedure過程
Application.OnTime Now + TimeValue("00:00:15"), "myProcedure"
(144)將捲軸控制項的值賦值給ActiveWindow物件的ScrollColumn屬性
ActiveWindow.ScrollColumn = ScrollBarColumns.Value
將捲軸控制項的值賦值給ActiveWindow物件的ScrollRow屬性
ActiveWindow.ScrollRow = ScrollBarRows.Value
(145)將單格A1中的資料添加到列表框中
UserForm1.ListBox1.AddItem Sheets("Sheet1").Cells(1, 1)
將一個名為Product陣列的值添加到ListBox1中
ListBox1.List = Product
使用工作表Sheet2中的SumP區域的值填充列表框
ListBox1.RowSource = "Sheet2!SumP"
(146)選中列表框中的第一個條目(註:當列表框允許一次選中多個條目時,必須使用Selected屬性)
ListBox1.Selected (0)
(147)移除列表框中選中的條目
ListBox1.RemoveItem ListBox1.ListIndex
*******************************************************
對像
Application對像
(148)返回應用程式的用戶名
Application.UserName
(149)返回代表調用函數的單格
Application.Caller
(150)返回調用函數的工作簿名稱
Application.Caller.Parent.Parent
(151)將文本寫到狀態欄
Application.StatusBar = "請等待……"
更新狀態欄文本,以變數Percent代表完成的百分比
Application.StatusBar = "請等待……" & Percent & "% Completed"
將狀態欄重新設置成正常狀態
Application.StatusBar = False
(152)指定單格區域A1至D4,等同於選擇"編輯--定位",指定單格區域為A1至D4,不會出現"定位"對話方塊
Application.Goto Reference:=Range("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)返回使用的Excel版本號
Application.Version
(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)返回Excel計算引擎版本(右邊四位元數字)及Excel版本(左邊兩位元數字)
Application.CalculationVersion
(171)以位元組為單位返回Excel允許使用的記憶體數(不包括已經使用的記憶體)
Application.MemoryFree
(172)以位元組為單位返回Excel當前使用的記憶體數
Application.MemoryUsed
(173)以位元組為單位返回Excel可以使用的記憶體數(包括已使用的記憶體,是MemoryFree和MemoryUsed的總和)
Application.MemoryTotal
(174)返回所使用的作業系統的名稱和版本
Application.OperatingSystem
(175)返回Excel產品登記使用的組織機構的名稱
Application.OrganizationName
(176)查找的格式種類
Application.FindFormat
替換查找到的內容的格式種類
Application.ReplaceFormat
替換查找到的格式
ActiveSheet.Cells.Replace What:=" ", _
Replacement:=" ", SearchFormat:=True, ReplaceFormat:=True
(177)忽略鍵盤或滑鼠的輸入
Application.Interactive = False
(178)若在工作表中定義了常量0.06的名稱為"Rate",則本語句將返回值0.06
Application.Evaluate ("Rate")
(179)選擇UndoOption後,將執行Undo Procedure過程
Application.OnUndo "Undo Option", "Undo Procedure"
*******************************************************
Range對像
(180)將一個含有10個元素的陣列轉置成垂直方向的工作表單格區域(A1至A10)
Range(A1:A10).value="/Application.WorksheetFunction.Transpose(MyArray)"
註:因為當把一維陣列的內容傳遞給某個單格區域時,該單格區域中的單格必須是水準方向的,即含有多列的一行。若必須使用垂直方向的單格區域,則必須先將陣列進行轉置,成為垂直的。
(181)返回A列最後一行的下一行
Range("A65536").End(xlUp).Row 1
(182)返回區域左上角的單格
rng.Range ("A1")
(183)訪問當前單格所在的工作簿
Cell.Parent.Parent.Worksheets
(184)切換所選單格是否加粗
Selection.Font.Bold = Not Selection.Font.Bold
(185)兩個關鍵字排序,相鄰兩列,B列為主關鍵字,A列為次關鍵字,昇冪排列
ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), _
Header:=xlYes
(186)顯示單格或單格區域中的第一個單格的數字格式
Cell.Range("A1").NumberFormat
(187)檢查單格或單格區域中的第一個單格是否含有公式
Cell.Range("A1").HasFormula
工作表中單格是否含有公式
或cell.HasFormula
(188)單格所在的整列
Cell.EntireColumn
單格所在的整行
Cell.EntireRow
(189)顯示rng區域的名稱
rng.Name.Name
(190)返回rng區域的位址
rng.Address
(191)返回包含在rng區域中左上角單格中的公式。
Cell.Range("A1").Formula
註:若在一個由多個單格組成的範圍內使用Formula屬性,會得到錯誤;若單格中沒有公式,會得到一個字串,在公式欄中顯示該單格的值。
(192)返回單格區域D5:D10中左上角單格
Range("D5:D10").Cells(1,1)
(193)活動單格所在的行數
ActiveCell.Row
活動單格所在的列數
ActiveCell.Column
(194)當前工作表中的單格區域資料設置為左對齊
Range("A1:B1").HorizontalAlignment = xlLeft
(195)設置單格區域A2至A10中數值格式
ActiveSheet.Range("A2:A10").NumberFormat = "#,##0"
(196)用0替換單格區域中的空單格
rng.Replace " ", "0"
*******************************************************
Collection與object
(197)
Dim colMySheets As New Collection
聲明新的集合變數
Public colMySheets As New Collection
(198)創建一個名為MyRange的物件變數
Set MyRange = Range("A1:A5")
(199)向集合中添加惟一的條目(即將重複的條目忽略)
objColl.Add Cell.Value, CStr(Cell.Value)
*******************************************************
Windows API
(200)API函數聲明。
返回安裝Windows所在的目錄名稱,調用該函數後,安裝Windows的目錄名稱將在第一個參數lpBuffer中,該目錄名稱的字串長度包含在第二個參數nSize中
Declare Function GetWindowsDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
(201)
Set objExcel = CreateObject("Excel.Application")
創建Excel工作簿
objExcel.Workbooks.Add
(202)開啟Word應用程式
Application.ActivateMicrosoftApp xlMicrosoftWord
(203)獲取工作簿範本的位置
Application.TemplatesPath
(204)設置工作簿手動計算
Application.Calculation = xlCalculationManual
工作簿自動計算
Application.Calculation = xlCalculationAutomatic
(205)不對第一張工作表自動進行重算
Worksheets(1).EnableCalculation = False
(206)重新計算所有打開的工作簿中的資料
Application.CalculateFull
(207)將最近使用的文檔列表數設為5
Application.RecentFiles.Maximum = 5
(208)打開最近打開的文檔中的第4個文檔
Application.RecentFiles(4).Open
(209)在2006年6月6日的16:16:16開始運行BaoPo過程
Application.OnTime DateSerial(2006, 6, 6) + TimeValue("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#
將系統時間更改為2006年6月6日上午6時16分16秒
Time = #6:16:16 AM#
(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)設置按Enter鍵後單格的移動方向向右
Application.MoveAfterReturnDirection = xlToRight
(224)顯示打開對話方塊
Application.FindFile
(225)打開超鏈結文檔
ThisWorkbook.FollowHyperlink "http://"
(226)將當前工作簿設置為唯讀
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
(227)將當前工作簿添加到收藏夾文件夾中
ActiveWorkbook.AddToFavorites
(228)在當前工作表中執行"拼寫檢查"
ActiveSheet.CheckSpelling
(229)保護當前工作表
ActiveSheet.Protect userinterfaceonly:=True
(230)在當前工作表的左側頁眉處列印出工作簿的完整路徑和檔案名
ActiveSheet.PageSetup.LeftHeader = ThisWorkbook.FullName
(231)
解除對工作表Sheet1中A1:G37區域單格的鎖定,以便當該工作表受保護時也可對這些單格進行修改
Worksheets("Sheet1").Range("A1:G37").Locked = False
Worksheets("Sheet1").Protect
(232)顯示工作表sheet1的列印預覽視窗
Worksheets("Sheet1").PrintPreview
(233)禁用顯示在Excel的"列印預覽"視窗中的"設置"和"頁邊距"按鈕
ActiveSheet.PrintPreview Enablechanges:=False
(234)在列印預覽中顯示格線
ActiveSheet.PageSetup.PrintGridlines = True
在列印預覽中顯示行列編號
ActiveSheet.PageSetup.PrintHeadings = True
(235)開啟資料記錄單
ActiveSheet.ShowDataForm
(236)
將工作表sheet1中A列的SIN替換為COS
Worksheets("Sheet1").Columns("A").Replace _
What:="SIN", Replacement:="COS", _
SearchOrder:=xlByColumns, MatchCase:=True
(237)刪除當前工作表中的第2行
Rows(2).Delete
刪除當前工作表中的第2列
Columns(2).Delete
(238)在當前單格左側插入一條垂直分頁符
ActiveWindow.SelectedSheets.VPageBreaks.Add before:=ActiveCell
在當前單格上方插入一條垂直分頁符
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
(239)將當前工作表視窗滾動到第14行
ActiveWindow.ScrollRow = 14
將當前工作表視窗滾動到第13列
ActiveWindow.ScrollColumn = 13
(240)關閉當前窗口
ActiveWindow.Close
(241)獲取當前視窗中的窗格數
ActiveWindow.Panes.Count
(242)將A2至D2的單格名稱設定為A1到D1單格的內容
Worksheets("sheet1").Range("A1:D2").CreateNames Top:=True
(243)自定義當前工作表中單格A1至A8中的內容為自動填充序列
Application.AddCustomList listarray:=Range("A1:A8")
(244)將單格A1至B2的內容複製成螢幕快照
Worksheets("sheet1").Range("A1:B2").CopyPicture xlScreen, xlBitmap
(245)刪除所選區域的所有鏈結
Selection.Hyperlinks.Delete
刪除第1列中所有的鏈結
Columns(1).Hyperlinks.Delete
刪除第1行中所有的鏈結
Rows(1).Hyperlinks.Delete
刪除指定範圍所有的鏈結
Range("A1:Z30").Hyperlinks.Delete
(246)在活動單格中設置開啟Windows計算器鏈結器
ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, _
Address:="C:WindowsSystem32Calc.exe", ScreenTip:="按下我,就會開啟Windows計算器", TextToDisplay:="Windows計算"
(247)開啟Windows計算器
ActiveCell.Value = Shell("C:WindowsSystem32Calc.exe", vbNormalFocus)
(248)打開自動篩選。若再運行一次,則關閉自動篩選
ActiveSheet.Rows(1).AutoFilter
(249)開啟/關閉所選區域的自動篩選
Selection.AutoFilter
(250)關閉自動篩選
ActiveSheet.ShowAllData
(251)檢查自動篩選是否開啟,若開啟則該語句返回True
ActiveSheet.AutoFilterMode
(252)在A列中找出與單格A2內容不同的單格並刪除
ActiveSheet.Columns("A").ColumnDifferences(Comparison:=ActiveSheet. _
Range("A2")).Delete
(253)刪除單格A6中的批註,包括聲音批註和文字批註
ActiveSheet.Range("A6").ClearNotes
(254)刪除單格B8中的註解文字
ActiveSheet.Range("B8").ClearComments
(255)清除單格區域A1至D10中的格式
ActiveSheet.Range("A1:D10").ClearFormats
(256)
將單格B2至D2區域設置為藍色雙線
ActiveSheet.Range("B2:D2").BorderAround ColorIndex:=5, _
Weight:=xlMedium, LineStyle:=xlDouble
(257)引用單格C2的數據
Range("A1:B2").Item(2, 3)
Range("A1:B2")(2, 3)
引用單格A2
Range("A1:B2")(3)
(258)設置字體加粗
ActiveSheet.Cells(1, 1).Font.Bold = True
設置字體大小為24磅
ActiveSheet.Cells(1, 1).Font.Size = 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)將當前工作表中單格區域C2至E6格式自動調整為彩色3格式
ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3
(260)選中當前工作表中的最後一個單格
Cells.SpecialCells (xlCellTypeLastCell)
(261)選定包含活動單格的整個陣列單格區域.假定該單格在資料單格區域中
ActiveCell.CurrentArray.Select
(262)將當前單格數字格式設置為帶3位小數,若為負數則顯示為紅色
ActiveCell.NumberFormatLocal = "0.000; [紅色] 0.000"
(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)在當前工作表的單格C1中添加批註
ActiveSheet.Range("C1").AddComment
(269)獲取今天的星期,以數值表示,1-7分別對應星期日至星期六
Weekday (Date)
(270)將單格A1的數值填充到單格A1至A10區域中
ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10, 1))
(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)在當前工作表中以(10,10)為起點(250,100)為終點畫一條直線並選中
ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, _
EndY:=100).Select
(283)在當前工作表中畫一個左上角在(70,40),寬為130高為72的三角形並選中
ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(284)在當前工作表中畫一個以點(70,40)為起點,寬130高72的矩形並選中
ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(285)在當前工作表中畫一個左上角在(70,40),寬為130高為72的橢圓
ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _
Left:=70, Top:=40, Width:=130, Height:=72).Select
(286)將當前工作表中第一個形狀的線條顏色變為藍色
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255)
(287)將當前工作表中第2個形狀的前景色設置為紅色
ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0)
(288)將當前工作表中的第1個形狀旋轉20度
ActiveSheet.Shapes(1).Rotation = 20
(289)將當前選中的形狀水準翻轉
Selection.ShapeRange.Flip msoFlipHorizontal
將當前選中的形狀垂直翻轉
Selection.ShapeRange.Flip msoFlipVertical
(290)將所選取的形狀設置為第1種立體樣式
Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1
(291)將當前工作表中第一個立體形狀的深度設置為20
ActiveSheet.Shapes(1).ThreeD.Depth = 20
(292)將當前工作表中第1個立體形狀的進深部分的顏色設為藍色
ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255)
(293)將當前工作表中的第1個立體形狀沿X軸旋轉60度
ActiveSheet.Shapes(1).ThreeD.RotationX = 60
將當前工作表中的第1個立體形狀沿Y軸旋轉60度
ActiveSheet.Shapes(1).ThreeD.RotationY = 60
(294)將所選擇的立體形狀轉換為平面形狀
Selection.ShapeRange.ThreeD.Visible = msoFalse
(295)在形狀中讓指定的連接符起點脫離原來所連接的形狀
Selection.ShapeRange.ConnectorFormat.BeginDisconnect
(296)複製當前工作表中形狀1的格式
ActiveSheet.Shapes(1).PickUp
(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)在當前工作表中插入一張d盤中名為sx的圖片
ActiveSheet.Shapes.AddPicture "d:sx.jpg", True, True, 60, 20, 400, 300
(300)將當前圖表類型改為立體區域圖
ActiveChart.ApplyCustomType xl3DArea
沒有留言:
張貼留言