定制模塊行為 (1) Option Explicit '強(qiáng)制對(duì)模塊內(nèi)所有變量進(jìn)行聲明 Option Private Module '標(biāo)記模塊為私有,僅對(duì)同一工程中其它模塊有用,在宏對(duì)話框中不顯示 Option Compare Text '字符串不區(qū)分大小寫 Option Base 1 '指定數(shù)組的第一個(gè)下標(biāo)為1 (2) On Error Resume Next '忽略錯(cuò)誤繼續(xù)執(zhí)行VBA代碼,避免出現(xiàn)錯(cuò)誤消息 (3) On Error GoTo ErrorHandler '當(dāng)錯(cuò)誤發(fā)生時(shí)跳轉(zhuǎn)到過(guò)程中的某個(gè)位置 (4) On Error GoTo 0 '恢復(fù)正常的錯(cuò)誤提示 (5) Application.DisplayAlerts=False '在程序執(zhí)行過(guò)程中使出現(xiàn)的警告框不顯示 (6) Application.ScreenUpdating=False '關(guān)閉屏幕刷新 Application.ScreenUpdating=True '打開(kāi)屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏運(yùn)行的功能
工作簿 (8) Workbooks.Add() '創(chuàng)建一個(gè)新的工作簿 (9) Workbooks(“book1.xls”).Activate '激活名為book1的工作簿 (10) ThisWorkbook.Save '保存工作簿 (11) ThisWorkbook.close '關(guān)閉當(dāng)前工作簿 (12) ActiveWorkbook.Sheets.Count '獲取活動(dòng)工作薄中工作表數(shù) (13) ActiveWorkbook.name '返回活動(dòng)工作薄的名稱 (14) ThisWorkbook.Name ‘返回當(dāng)前工作簿名稱 ThisWorkbook.FullName ‘返回當(dāng)前工作簿路徑和名稱 (15) ActiveWindow.EnableResize=False ‘禁止調(diào)整活動(dòng)工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘將工作簿以平鋪方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘將當(dāng)前工作簿最大化
工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘當(dāng)前工作表中已使用的行數(shù) (19) Rows.Count ‘獲取工作表的行數(shù)(注:考慮向前兼容性) (20) Sheets(Sheet1).Name= “Sum” '將Sheet1命名為Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一個(gè)新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) '將當(dāng)前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同時(shí)選擇工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete '刪除工作表1 (25) ActiveWorkbook.Sheets(i).Name '獲取工作表i的名稱 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切換工作表中的網(wǎng)格線顯示,這種方法也可以用在其它方面進(jìn)行相互切換,即相當(dāng)于開(kāi)關(guān)按鈕 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切換工作表中的行列邊框顯示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘刪除當(dāng)前工作表中所有的條件格式 (29) Cells.Hyperlinks.Delete ‘取消當(dāng)前工作表所有超鏈接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 '將頁(yè)面設(shè)置更改為橫向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在頁(yè)面設(shè)置的表尾中輸入文件路徑 ActiveSheet.PageSetup.LeftFooter=Application.UserName ‘將用戶名放置在活動(dòng)工作表的頁(yè)腳
單元格/單元格區(qū)域 (32) ActiveCell.CurrentRegion.Select 或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select '選擇當(dāng)前活動(dòng)單元格所包含的范圍,上下左右無(wú)空行 (33) Cells.Select ‘選定當(dāng)前工作表的所有單元格 (34) Range(“A1”).ClearContents '清除活動(dòng)工作表上單元格A1中的內(nèi)容 Selection.ClearContents '清除選定區(qū)域內(nèi)容 Range(“A1:D4”).Clear '徹底清除A1至D4單元格區(qū)域的內(nèi)容,包括格式 (35) Cells.Clear '清除工作表中所有單元格的內(nèi)容 (36) ActiveCell.Offset(1,0).Select '活動(dòng)單元格下移一行,同理,可下移一列 (37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1)‘偏移一列 Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1)‘向上偏移一行 (38) Range(“A1”).Copy Range(“B1”) '復(fù)制單元格A1,粘貼到單元格B1中 Range(“A1:D8”).Copy Range(“F1”) '將單元格區(qū)域復(fù)制到單元格F1開(kāi)始的區(qū)域中 Range(“A1:D8”).Cut Range(“F1”) '剪切單元格區(qū)域A1至D8,復(fù)制到單元格F1開(kāi)始的區(qū)域中 Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '復(fù)制包含A1的單元格區(qū)域到工作表2中以A1起始的單元格區(qū)域中 注:CurrentRegion屬性等價(jià)于定位命令,由一個(gè)矩形單元格塊組成,周圍是一個(gè)或多個(gè)空行或列 (39) ActiveWindow.RangeSelection.Value=XX '將值XX輸入到所選單元格區(qū)域中 (40) ActiveWindow.RangeSelection.Count '活動(dòng)窗口中選擇的單元格數(shù) (41) Selection.Count '當(dāng)前選中區(qū)域的單元格數(shù) (42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回單元格中超級(jí)鏈接的地址并賦值 (43) TextColor=Range(“A1”).Font.ColorIndex ‘檢查單元格A1的文本顏色并返回顏色索引 Range(“A1”).Interior.ColorIndex ‘獲取單元格A1背景色 (44) cells.count ‘返回當(dāng)前工作表的單元格數(shù) (45) Selection.Range(“E4”).Select ‘激活當(dāng)前活動(dòng)單元格下方3行,向右4列的單元格 (46) Cells.Item(5,”C”) ‘引單元格C5 Cells.Item(5,3) ‘引單元格C5 (47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5) 或 Range(“A1”).Offset(4,5) ‘指定單元格F5 (48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3) Rnage(“B3”).Resize(11,3) ‘創(chuàng)建B3:D13區(qū)域 (49) Range(“Data”).Resize(,2) ‘將Data區(qū)域擴(kuò)充2列 (50) Union(Range(“Data1”),Range(“Data2”)) ‘將Data1和Data2區(qū)域連接 (51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2區(qū)域的交叉區(qū)域 (52) Range(“Data”).Count ‘單元格區(qū)域Data中的單元格數(shù) Range(“Data”). Columns.Count ‘單元格區(qū)域Data中的列數(shù) Range(“Data”). Rows.Count ‘單元格區(qū)域Data中的行數(shù) (53) Selection.Columns.Count ‘當(dāng)前選中的單元格區(qū)域中的列數(shù) Selection.Rows.Count ‘當(dāng)前選中的單元格區(qū)域中的行數(shù) (54) Selection.Areas.Count ‘選中的單元格區(qū)域所包含的區(qū)域數(shù) (55) ActiveSheet.UsedRange.Row ‘獲取單元格區(qū)域中使用的第一行的行號(hào) (56) Rng.Column ‘獲取單元格區(qū)域Rng左上角單元格所在列編號(hào) (57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活動(dòng)工作表中返回所有符合條件格式設(shè)置的區(qū)域 (58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘關(guān)閉由于執(zhí)行自動(dòng)篩選命令產(chǎn)生的第3個(gè)字段的下拉列表 名稱 (59) Range(“A1:C3”).Name=“computer” ‘命名A1:C3區(qū)域?yàn)?/span>computer 或Range(“D1:E6”).Name=“Sheet1!book”‘命名局部變量,即Sheet1上區(qū)域D1:E6為book 或 Names(“computer”).Name=“robot” ‘將區(qū)域computer重命名為robot (60) Names(“book”).Delete ‘刪除名稱 (61) Names.Add Name:=“ContentList”,_ RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘動(dòng)態(tài)命名列 (62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar (63) Names.Add Name:=“Total”,RefersTo:=123456 ‘將數(shù)字123456命名為Total。注意數(shù)字不能加引號(hào),否則就是命名字符串了。 (64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ‘將數(shù)組ArrayNum命名為MyArray。 (65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ‘將名稱隱藏 (66) ActiveWorkbook.Names(“Com”).Name ‘返回名稱字符串
公式與函數(shù) (67) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函數(shù)檢查A1單元格中的數(shù)據(jù)是否為數(shù)字 (68)Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate '激活單元格區(qū)域A列中最大值的單元格 (69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” ‘在單元格中輸入數(shù)組公式。注意必須使用R1C1樣式的表達(dá)式
圖表 (70) ActiveSheet.ChartObjects.Count '獲取當(dāng)前工作表中圖表的個(gè)數(shù) (71) ActiveSheet.ChartObjects(“Chart1”).Select ‘選中當(dāng)前工作表中圖表Chart1 (72) ActiveSheet.ChartObjects(“Chart1”).Activate ActiveChart.ChartArea.Select ‘選中當(dāng)前圖表區(qū)域 (73) WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart. _ ChartArea.Interior.ColorIndex=2 ‘更改工作表中圖表的圖表區(qū)的顏色 (74) Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 ‘更改圖表工作表中圖表區(qū)的顏色 (75) Charts.Add ‘添加新的圖表工作表 (76) ActiveChart.SetSourceData Source:=Sheets(“Sheet1”).Range(“A1:D5”), _ PlotBy:=xlColumns ‘指定圖表數(shù)據(jù)源并按列排列 (77) ActiveChart.Location Where:=xlLocationAsNewSheet ‘新圖表作為新圖表工作表 (78) ActiveChart.PlotArea.Interior.ColorIndex=xlNone ‘將繪圖區(qū)顏色變?yōu)榘咨?/span> (79) WorkSheets(“Sheet1”).ChartObjects(1).Chart. _ Export FileName:=“C:MyChart.gif”,FilterName:=“GIF” ‘將圖表1導(dǎo)出到C盤上并命名為MyChart.gif
窗體 (80) MsgBox “Hello!” '消息框中顯示消息Hello (81) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中點(diǎn)擊“是”按鈕,則Ans值為vbYes;點(diǎn)擊“否”按鈕,則Ans值為vbNo。 If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub '返回值不為“是”,則退出 (82) Config=vbYesNo+vbQuestion+vbDefaultButton2 '使用常量的組合,賦值組Config變量,并設(shè)置第二個(gè)按鈕為缺省按鈕 (83) MsgBox “This is the first line.” & vbNewLine & “Second line.” '在消息框中強(qiáng)制換行,可用vbCrLf代替vbNewLine。 (84) MsgBox "the average is :"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation,"selection count average" & Chr(13) '應(yīng)用工作表函數(shù)返回所選區(qū)域的平均值并按指定格式顯示 (85) Userform1.Show ‘顯示用戶窗體 (86) Load Userform1 ‘加載一個(gè)用戶窗體,但該窗體處于隱藏狀態(tài) (87) Userform1.Hide ‘隱藏用戶窗體 (88) Unload Userform1 或 Unload Me ‘卸載用戶窗體 (89) (圖像控件).Picture=LoadPicture(“圖像路徑”) ‘在用戶窗體中顯示圖形 (90) UserForm1.Show 0 或 UserForm1.Show vbModeless ‘將窗體設(shè)置為無(wú)模式狀態(tài) (91) Me.Height=Int(0.88*ActiveWindow.Height) ‘窗體高度為當(dāng)前活動(dòng)窗口高度的0.88 Me.Width=Int(0.88*ActiveWindow.Width) ‘窗體寬度為當(dāng)前活動(dòng)窗口高度的0.88 事件 (92) Application.EnableEvents=False '禁用所有事件 Application.EnableEvents=True '啟用所有事件 注:不適用于用戶窗體控件觸發(fā)的事件
對(duì)象 (93) Set ExcelSheet = CreateObject("Excel.Sheet") ‘創(chuàng)建一個(gè)Excel工作表對(duì)象 ExcelSheet.Application.Visible = True '設(shè)置Application 對(duì)象使 Excel 可見(jiàn) ExcelSheet.Application.Cells(1, 1).Value = "Data" '在表格的第一個(gè)單元中輸入文本 ExcelSheet.SaveAs "C:\TEST.XLS" '將該表格保存到C:\test.xls目錄 ExcelSheet.Application.Quit '關(guān)閉 Excel Set ExcelSheet = Nothing '釋放該對(duì)象變量 (94) ‘聲明并創(chuàng)建一個(gè)Excel對(duì)象引用 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.WorkSheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) (95) ‘創(chuàng)建并傳遞一個(gè) Excel.Application 對(duì)象的引用 Call MySub (CreateObject("Excel.Application")) (96) Set d = CreateObject(Scripting.Dictionary) ‘創(chuàng)建一個(gè)Dictionary 對(duì)象變量 (97) d.Add "a", "Athens" '為對(duì)象變量添加關(guān)鍵字和條目
其他 (98) Application.OnKey “^I”,”macro” '設(shè)置Ctrl+I鍵為macro過(guò)程的快捷鍵 (99) Application.CutCopyMode=False ‘退出剪切/復(fù)制模式 (100) Application.Volatile True '無(wú)論何時(shí)工作表中任意單元格重新計(jì)算,都會(huì)強(qiáng)制計(jì)算該函數(shù) Application.Volatile False '只有在該函數(shù)的一個(gè)或多個(gè)參數(shù)發(fā)生改變時(shí),才會(huì)重新計(jì)算該函數(shù) ******************************************************* 定制模塊行為 (101) Err.Clear ‘清除程序運(yùn)行過(guò)程中所有的錯(cuò)誤 ******************************************************* 工作簿 (102) ThisWorkbook.BuiltinDocumentProperties(“Last Save Time”) 或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“LastSave Time”) ‘返回上次保存工作簿的日期和時(shí)間 (103) ThisWorkbook.BuiltinDocumentProperties("Last Print Date") 或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“LastPrint Date”) ‘返回上次打印或預(yù)覽工作簿的日期和時(shí)間 (104) Workbooks.Close ‘關(guān)閉所有打開(kāi)的工作簿 (105) ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回當(dāng)前工作簿中的第一條鏈接 (106) ActiveWorkbook.CodeName ThisWorkbook.CodeName ‘返回工作簿代碼的名稱 (107) ActiveWorkbook.FileFormat ThisWorkbook.FileFormat ‘返回當(dāng)前工作簿文件格式代碼 (108) ThisWorkbook.Path ActiveWorkbook.Path ‘返回當(dāng)前工作簿的路徑(注:若工作簿未保存,則為空) (109) ThisWorkbook.ReadOnly ActiveWorkbook.ReadOnly ‘返回當(dāng)前工作簿的讀/寫值(為False) (110) ThisWorkbook.Saved ActiveWorkbook.Saved ‘返回工作簿的存儲(chǔ)值(若已保存則為False) (111) Application.Visible = False ‘隱藏工作簿 Application.Visible = True ‘顯示工作簿 注:可與用戶窗體配合使用,即在打開(kāi)工作簿時(shí)將工作簿隱藏,只顯示用戶窗體.可設(shè)置控制按鈕控制工作簿可見(jiàn) ******************************************************* 工作表 (112) ActiveSheet.Columns("B").Insert ‘在A列右側(cè)插入列,即插入B列 ActiveSheet.Columns("E").Cut ActiveSheet.Columns("B").Insert ‘以上兩句將E列數(shù)據(jù)移至B列,原B列及以后的數(shù)據(jù)相應(yīng)后移 ActiveSheet.Columns("B").Cut ActiveSheet.Columns("E").Insert ‘以上兩句將B列數(shù)據(jù)移至D列,原C列和D列數(shù)據(jù)相應(yīng)左移一列 (113) ActiveSheet.Calculate ‘計(jì)算當(dāng)前工作表 (114) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden ‘正常隱藏工作表,同在Excel菜單中選擇“格式——工作表——隱藏”操作一樣 ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden ‘隱藏工作表,不能通過(guò)在Excel菜單中選擇“格式——工作表——取消隱藏”來(lái)重新顯示工作表 ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible ‘顯示被隱藏的工作表 (115) ThisWorkbook.Sheets(1).ProtectContents ‘檢查工作表是否受到保護(hù) (116) ThisWorkbook.Worksheets.Add Count:=2, _ Before:=ThisWorkbook.Worksheets(2) 或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2),, 2 ‘在第二個(gè)工作表之前添加兩個(gè)新的工作表 (117) ThisWorkbook.Worksheets(3).Copy ‘復(fù)制一個(gè)工作表到新的工作簿 (118) ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘復(fù)制第三個(gè)工作表到第二個(gè)工作表之前 (119) ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 ‘改變工作表的列寬為20 ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _ ThisWorkbook.ActiveSheet.StandardWidth ‘將工作表的列寬恢復(fù)為標(biāo)準(zhǔn)值 ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 ‘改變工作表列1的寬度為20 (120) ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 ‘改變工作表的行高為10 ThisWorkbook.ActiveSheet.Rows.RowHeight = _ ThisWorkbook.ActiveSheet.StandardHeight ‘將工作表的行高恢復(fù)為標(biāo)準(zhǔn)值 ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 ‘改變工作表的行1的高度值設(shè)置為10 (121) ThisWorkbook.Worksheets(1).Activate ‘當(dāng)前工作簿中的第一個(gè)工作表被激活 (122) ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True ‘設(shè)置工作表Sheet1中的行1數(shù)據(jù)為粗體 (123) ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True ‘將工作表Sheet1中的行1隱藏 ActiveCell.EntireRow.Hidden = True ‘將當(dāng)前工作表中活動(dòng)單元格所在的行隱藏 注:同樣可用于列。 (124) ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自動(dòng)調(diào)整當(dāng)前工作表A列列寬 (125) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘選中當(dāng)前工作表中常量和文本單元格 ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘選中當(dāng)前工作表中常量和文本及錯(cuò)誤值單元格 ******************************************************* 公式與函數(shù) (126) Application.MacroOptions Macro:=”SumPro”,Category:=4 ‘將自定義的SumPro函數(shù)指定給Excel中的“統(tǒng)計(jì)函數(shù)”類別 (127) Application.MacroOptions Macro:=”SumPro”, _ Description:=”First Sum,then Product” ‘為自定義函數(shù)SumPro進(jìn)行了功能說(shuō)明 (128) Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘獲取A列的下一個(gè)空單元格 (129) WorksheetFunction.CountA(Cell.EntireColumn) ‘返回該單元格所在列非空單元格的數(shù)量 WorksheetFunction.CountA(Cell.EntireRow) ‘返回該單元格所在行非空單元格的數(shù)量 (130) WorksheetFunction.CountA(Cells) ‘返回工作表中非空單元格數(shù)量 (131) ActiveSheet.Range(“A20:D20”).Formula=“=Sum(R[-19]C:R[-1]C”’對(duì)A列至D列前19個(gè)數(shù)值求和 ******************************************************* 圖表 (132) ActiveWindow.Visible=False 或 ActiveChart.Deselect ‘使圖表處于非活動(dòng)狀態(tài) (133) TypeName(Selection)=”Chart” ‘若選中的為圖表,則該語(yǔ)句為真,否則為假 (134) ActiveSheet.ChartObjects.Delete ‘刪除工作表上所有的ChartObject對(duì)象 ActiveWorkbook.Charts.Delete ‘刪除當(dāng)前工作簿中所有的圖表工作表 ******************************************************* 窗體和控件 (135) UserForms.Add(MyForm).Show ‘添加用戶窗體MyForm并顯示 (136)TextName.SetFocus ‘設(shè)置文本框獲取輸入焦點(diǎn) (137) SpinButton1.Value=0 ‘將數(shù)值調(diào)節(jié)鈕控件的值改為0 (138) TextBox1.Text=SpinButton1.Value ‘將數(shù)值調(diào)節(jié)鈕控件的值賦值給文本框控件 SpinButton1.value="/Val(TextBox1.Text)"‘將文本框控件值賦給數(shù)值調(diào)節(jié)鈕控件 CStr(SpinButton1.Value)=TextBox1.Text ‘數(shù)值調(diào)節(jié)鈕控件和文本框控件相比較 (139) UserForm1.Controls.Count ‘顯示窗體UserForm1上的控件數(shù)目 (140) ListBox1.AddItem “Command1” ‘在列表框中添加Command1 (141) ListBox1.ListIndex ‘返回列表框中條目的值,若為-1,則表明未選中任何列表框中的條目 (142) RefEdit1.Text ‘返回代表單元格區(qū)域地址的文本字符串 RefEdit1.Text=ActiveWindow.RangeSelection.Address ‘初始化RefEdit控件顯示當(dāng)前所選單元格區(qū)域 Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘設(shè)置某單元格區(qū)域左上角單元格 (143) Application.OnTime Now + TimeValue("00:00:15"),"myProcedure" ‘等待15秒后運(yùn)行myProcedure過(guò)程 (144) ActiveWindow.ScrollColumn=ScrollBarColumns.Value ‘將滾動(dòng)條控件的值賦值給ActiveWindow對(duì)象的ScrollColumn屬性 ActiveWindow.ScrollRow=ScrollBarRows.Value ‘將滾動(dòng)條控件的值賦值給ActiveWindow對(duì)象的ScrollRow屬性 (145) UserForm1.ListBox1.AddItem Sheets(“Sheet1”).Cells(1,1) ‘將單元格A1中的數(shù)據(jù)添加到列表框中 ListBox1.List=Product ‘將一個(gè)名為Product數(shù)組的值添加到ListBox1中 ListBox1.RowSource=”Sheet2!SumP” ‘使用工作表Sheet2中的SumP區(qū)域的值填充列表框 (146) ListBox1.Selected(0) ‘選中列表框中的第一個(gè)條目(注:當(dāng)列表框允許一次選中多個(gè)條目時(shí),必須使用Selected屬性) (147) ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中選中的條目 ******************************************************* 對(duì)象 Application對(duì)象 (148) Application.UserName ‘返回應(yīng)用程序的用戶名 (149) Application.Caller ‘返回代表調(diào)用函數(shù)的單元格 (150) Application.Caller.Parent.Parent ‘返回調(diào)用函數(shù)的工作簿名稱 (151) Application.StatusBar=”請(qǐng)等待……” ‘將文本寫到狀態(tài)欄 Application.StatusBar=”請(qǐng)等待……” &Percent & “% Completed” ‘更新?tīng)顟B(tài)欄文本,以變量Percent代表完成的百分比 Application.StatusBar=False ‘將狀態(tài)欄重新設(shè)置成正常狀態(tài) (152) Application.Goto Reference:=Range(“A1:D4”) ‘指定單元格區(qū)域A1至D4,等同于選擇“編輯——定位”,指定單元格區(qū)域?yàn)?/span>A1至D4,不會(huì)出現(xiàn)“定位”對(duì)話框 (153) Application.Dialogs(xlDialogFormulaGoto).Show ‘顯示“定位”對(duì)話框,但定位條件按鈕無(wú)效 (154) Application.Dialogs(xlDialogSelectSpecial).Show ‘顯示“定位條件”對(duì)話框 (155) Application.Dialogs(xlDialogFormatNumber).show ‘顯示“單元格格式”中的“數(shù)字”選項(xiàng)卡 Application.Dialogs(xlDialogAlignment).show ‘顯示“單元格格式”中的“對(duì)齊”選項(xiàng)卡 Application.Dialogs(xlDialogFontProperties).show ‘顯示“單元格格式”中的“字體”選項(xiàng)卡 Application.Dialogs(xlDialogBorder).show ‘顯示“單元格格式”中的“邊框”選項(xiàng)卡 Application.Dialogs(xlDialogPatterns).show ‘顯示“單元格格式”中的“圖案”選項(xiàng)卡 Application.Dialogs(xlDialogCellProtection).show ‘顯示“單元格格式”中的“保護(hù)”選項(xiàng)卡 注:無(wú)法一次顯示帶選項(xiàng)卡的“單元格格式”對(duì)話框,只能一次顯示一個(gè)選項(xiàng)卡。 (156) Application.Dialogs(xlDialogFormulaGoto).show Range("b2"), True‘顯示“引用位置”的默認(rèn)單元格區(qū)域并顯示引用使其出現(xiàn)在窗口左上角(注:內(nèi)置對(duì)話框參數(shù)的使用) (157) Application.CommandBars(1).Controls(2).Controls(16).Execute ‘執(zhí)行“定位”話框,相當(dāng)于選擇菜單“編輯——定位”命令 (158) Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一個(gè)垂直的數(shù)組 (159) Application.Version ‘返回使用的Excel版本號(hào) (160) Application.Cursor = xlNorthwestArrow ‘設(shè)置光標(biāo)形狀為北西向箭頭 Application.Cursor = xlIBeam ‘設(shè)置光標(biāo)形狀為Ⅰ字形 Application.Cursor = xlWait ‘設(shè)置光標(biāo)形狀為沙漏(等待)形 Application.Cursor = xlDefault ‘恢復(fù)光標(biāo)的默認(rèn)設(shè)置 (161) Application.WindowState ‘返回窗口當(dāng)前的狀態(tài) Application.WindowState = xlMinimized ‘窗口最小化 Application.WindowState = xlMaximized ‘窗口最大化 Application.WindowState = xlNormal ‘窗口正常狀態(tài) (162) Application.UsableHeight ‘獲取當(dāng)前窗口的高度 Application.UsableWidth ‘獲取當(dāng)前窗口的寬度 (163) Application.ActiveCell.Address ‘返回活動(dòng)單元格的地址(注:返回的是絕對(duì)地址) (164) Application.ActivePrinter ‘返回當(dāng)前打印機(jī)的名稱 (165) Application.ActiveSheet.Name ‘返回活動(dòng)工作表的名稱 (166) Application.ActiveWindow.Caption ‘返回活動(dòng)窗口的標(biāo)題 (167) Application.ActiveWorkbook.Name ‘返回活動(dòng)工作簿的名稱 (168) Application.Selection.Address ‘返回所選區(qū)域的地址 (169) Application.ThisWorkbook.Name ‘返回當(dāng)前工作簿的名稱 (170) Application.CalculationVersion ‘返回Excel計(jì)算引擎版本(右邊四位數(shù)字)及Excel版本(左邊兩位數(shù)字) (171) Application.MemoryFree ‘以字節(jié)為單位返回Excel允許使用的內(nèi)存數(shù)(不包括已經(jīng)使用的內(nèi)存) (172) Application.MemoryUsed ‘以字節(jié)為單位返回Excel當(dāng)前使用的內(nèi)存數(shù) (173) Application.MemoryTotal ‘以字節(jié)為單位返回Excel可以使用的內(nèi)存數(shù)(包括已使用的內(nèi)存,是MemoryFree和MemoryUsed的總和) (174) Application.OperatingSystem ‘返回所使用的操作系統(tǒng)的名稱和版本 (175) Application.OrganizationName ‘返回Excel產(chǎn)品登記使用的組織機(jī)構(gòu)的名稱 (176) Application.FindFormat ‘查找的格式種類 Application.ReplaceFormat ‘替換查找到的內(nèi)容的格式種類 ActiveSheet.Cells.Replace What:=” “, _ Replacement:=” “,SearchFormat:=True,ReplaceFormat:=True ‘替換查找到的格式 (177) Application.Interactive=False ‘忽略鍵盤或鼠標(biāo)的輸入 (178) Application.Evaluate("Rate") ‘若在工作表中定義了常量0.06的名稱為”Rate”,則本語(yǔ)句將返回值0.06 (179) Application.OnUndo “Undo Option”,“Undo Procedure” ‘選擇UndoOption后,將執(zhí)行UndoProcedure過(guò)程 ******************************************************* Range對(duì)象 (180)Range(A1:A10).value="/Application.WorksheetFunction.Transpose(MyArray)"‘將一個(gè)含有10個(gè)元素的數(shù)組轉(zhuǎn)置成垂直方向的工作表單元格區(qū)域(A1至A10) 注:因?yàn)楫?dāng)把一維數(shù)組的內(nèi)容傳遞給某個(gè)單元格區(qū)域時(shí),該單元格區(qū)域中的單元格必須是水平方向的,即含有多列的一行。若必須使用垂直方向的單元格區(qū)域,則必須先將數(shù)組進(jìn)行轉(zhuǎn)置,成為垂直的。 (181) Range(“A65536”).End(xlUp).Row+1 ‘返回A列最后一行的下一行 (182) rng.Range(“A1”) ‘返回區(qū)域左上角的單元格 (183) cell.Parent.Parent.Worksheets ‘訪問(wèn)當(dāng)前單元格所在的工作簿 (184) Selection.Font.Bold=Not Selection.Font.Bold ‘切換所選單元格是否加粗 (185) ActiveSheet.Range("A:B").Sort Key1:=Columns("B"),Key2:=Columns("A"), _ Header:=xlYes ‘兩個(gè)關(guān)鍵字排序,相鄰兩列,B列為主關(guān)鍵字,A列為次關(guān)鍵字,升序排列 (186) cell.Range(“A1”).NumberFormat ‘顯示單元格或單元格區(qū)域中的第一個(gè)單元格的數(shù)字格式 (187) cell.Range(“A1”).HasFormula ‘檢查單元格或單元格區(qū)域中的第一個(gè)單元格是否含有公式 或cell.HasFormula ‘工作表中單元格是否含有公式 (188) Cell.EntireColumn ‘單元格所在的整列 Cell.EntireRow ‘單元格所在的整行 (189) rng.Name.Name ‘顯示rng區(qū)域的名稱 (190) rng.Address ‘返回rng區(qū)域的地址 (191) cell.Range(“A1”).Formula ‘返回包含在rng區(qū)域中左上角單元格中的公式。 注:若在一個(gè)由多個(gè)單元格組成的范圍內(nèi)使用Formula屬性,會(huì)得到錯(cuò)誤;若單元格中沒(méi)有公式,會(huì)得到一個(gè)字符串,在公式欄中顯示該單元格的值。 (192) Range(“D5:D10”).Cells(1,1) ‘返回單元格區(qū)域D5:D10中左上角單元格 (193) ActiveCell.Row ‘活動(dòng)單元格所在的行數(shù) ActiveCell.Column ‘活動(dòng)單元格所在的列數(shù) (194) Range("A1:B1").HorizontalAlignment = xlLeft ‘當(dāng)前工作表中的單元格區(qū)域數(shù)據(jù)設(shè)置為左對(duì)齊 (195) ActiveSheet.Range(“A2:A10”).NumberFormat=”#,##0” ‘設(shè)置單元格區(qū)域A2至A10中數(shù)值格式 (196) rng.Replace “ “,”0” ‘用0替換單元格區(qū)域中的空單元格 ******************************************************* Collection與object (197) Dim colMySheets As New Collection Public colMySheets As New Collection ‘聲明新的集合變量 (198) Set MyRange=Range(“A1:A5”) ‘創(chuàng)建一個(gè)名為MyRange的對(duì)象變量 (199) <object>.Add Cell.Value CStr(Cell.Value) ‘向集合中添加惟一的條目(即將重復(fù)的條目忽略) ******************************************************* Windows API (200) Declare Function GetWindowsDirectoryA Lib “kernel32” _ (ByVal lpBuffer As String,ByVal nSize As Long) As Long ‘API函數(shù)聲明。返回安裝Windows所在的目錄名稱,調(diào)用該函數(shù)后,安裝Windows的目錄名稱將在第一個(gè)參數(shù)lpBuffer中,該目錄名稱的字符串長(zhǎng)度包含在第二個(gè)參數(shù)nSize中。
-------------------------------------------------------------------------------- 前面已經(jīng)推出了兩輯VBA語(yǔ)句集,共有200句VBA常用代碼及代碼功能的簡(jiǎn)要解釋。根據(jù)前階段在學(xué)習(xí)VBA過(guò)程中總結(jié)歸納的成果,特匯編了VBA語(yǔ)句集第3輯,供大家在學(xué)習(xí)VBA編程時(shí)參考。其實(shí),您可以在VBE編輯器中將這些語(yǔ)句進(jìn)行測(cè)試,以體驗(yàn)其作用或效果。 VBA語(yǔ)句集的特點(diǎn)是,一句VBA代碼,后面配有代碼功能簡(jiǎn)要的說(shuō)明或解釋。每輯100句,盡可能收錄所有在程序中所要用到的代碼。 -------------------------------------------------------------------------------- (201) Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Add ‘創(chuàng)建Excel工作簿 (202) Application.ActivateMicrosoftApp xlMicrosoftWord '開(kāi)啟Word應(yīng)用程序 (203) Application.TemplatesPath ‘獲取工作簿模板的位置 (204) Application.Calculation = xlCalculationManual ‘設(shè)置工作簿手動(dòng)計(jì)算 Application.Calculation = xlCalculationAutomatic ‘工作簿自動(dòng)計(jì)算 (205) Worksheets(1).EnableCalculation = False ‘不對(duì)第一張工作表自動(dòng)進(jìn)行重算 (206) Application.CalculateFull '重新計(jì)算所有打開(kāi)的工作簿中的數(shù)據(jù) (207) Application.RecentFiles.Maximum = 5 '將最近使用的文檔列表數(shù)設(shè)為5 (208) Application.RecentFiles(4).Open '打開(kāi)最近打開(kāi)的文檔中的第4個(gè)文檔 (209) Application.OnTime DateSerial(2006,6,6)+TimeValue(“16:16:16”),“BaoPo” ‘在2006年6月6日的16:16:16開(kāi)始運(yùn)行BaoPo過(guò)程 (210) Application.Speech.Speak ("Hello" & Application.UserName) ‘播放聲音,并使用用戶的姓名問(wèn)候用戶 (211) MsgBox Application.PathSeparator '獲取"\"號(hào) (212) MsgBox Application.International(xlCountrySetting) '返回應(yīng)用程序當(dāng)前所在國(guó)家的設(shè)置信息 (213) Application.AutoCorrect.AddReplacement "葛洲壩", "三峽" '自動(dòng)將在工作表中進(jìn)行輸入的"葛洲壩"更正為"三峽" (214) Beep '讓計(jì)算機(jī)發(fā)出聲音 (215) Err.Number ‘返回錯(cuò)誤代碼 (216) MsgBox IMEStatus '獲取輸入法狀態(tài) (217) Date = #6/6/2006# Time = #6:16:16 AM# '將系統(tǒng)時(shí)間更改為2006年6月6日上午6時(shí)16分16秒 (218) Application.RollZoom = Not Application.RollZoom '切換是否能利用鼠標(biāo)中間的滑輪放大/縮小工作表 (219) Application.ShowWindowsInTaskba = True ‘顯示任務(wù)欄中的窗口,即各工作簿占用各自的窗口 (220) Application.DisplayScrollBars = True ‘顯示窗口上的滾動(dòng)條 (221) Application.DisplayFormulaBar = Not Application.DisplayFormulaBar '切換是否顯示編輯欄 (222) Application.Dialogs(xlDialogPrint).Show ‘顯示打印內(nèi)容對(duì)話框 (223) Application.MoveAfterReturnDirection = xlToRight '設(shè)置按Enter鍵后單元格的移動(dòng)方向向右 (224) Application.FindFile '顯示打開(kāi)對(duì)話框 (225) ThisWorkbook.FollowHyperlink http://www. ‘打開(kāi)超鏈接文檔 (226) ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly '將當(dāng)前工作簿設(shè)置為只讀 (227) ActiveWorkbook.AddToFavorites '將當(dāng)前工作簿添加到收藏夾文件夾中 (228) ActiveSheet.CheckSpelling '在當(dāng)前工作表中執(zhí)行"拼寫檢查" (229) ActiveSheet.Protect userinterfaceonly:=True ‘保護(hù)當(dāng)前工作表 (230) ActiveSheet.PageSetup.LeftHeader = ThisWorkbook.FullName ‘在當(dāng)前工作表的左側(cè)頁(yè)眉處打印出工作簿的完整路徑和文件名 (231) Worksheets("Sheet1").Range("A1:G37").Locked = False Worksheets("Sheet1").Protect '解除對(duì)工作表Sheet1中A1:G37區(qū)域單元格的鎖定 '以便當(dāng)該工作表受保護(hù)時(shí)也可對(duì)這些單元格進(jìn)行修改 (232) Worksheets("Sheet1").PrintPreview '顯示工作表sheet1的打印預(yù)覽窗口 (233) ActiveSheet.PrintPreview Enablechanges:=False ‘禁用顯示在Excel的“打印預(yù)覽”窗口中的“設(shè)置”和“頁(yè)邊距”按鈕 (234) ActiveSheet.PageSetup.PrintGridlines = True '在打印預(yù)覽中顯示網(wǎng)格線 ActiveSheet.PageSetup.PrintHeadings = True '在打印預(yù)覽中顯示行列編號(hào) (235) ActiveSheet.ShowDataForm '開(kāi)啟數(shù)據(jù)記錄單 (236) Worksheets("Sheet1").Columns("A").Replace _ What:="SIN", Replacement:="COS", _ SearchOrder:=xlByColumns, MatchCase:=True '將工作表sheet1中A列的SIN替換為COS (237) Rows(2).Delete '刪除當(dāng)前工作表中的第2行 Columns(2).Delete '刪除當(dāng)前工作表中的第2列 (238) ActiveWindow.SelectedSheets.VPageBreaks.Add before:=ActiveCell '在當(dāng)前單元格左側(cè)插入一條垂直分頁(yè)符 ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell '在當(dāng)前單元格上方插入一條垂直分頁(yè)符 (239) ActiveWindow.ScrollRow = 14 '將當(dāng)前工作表窗口滾動(dòng)到第14行 ActiveWindow.ScrollColumn = 13 '將當(dāng)前工作表窗口滾動(dòng)到第13列 (240) ActiveWindow.Close '關(guān)閉當(dāng)前窗口 (241) ActiveWindow.Panes.Count '獲取當(dāng)前窗口中的窗格數(shù) (242) Worksheets("sheet1").Range("A1:D2").CreateNamesTop:=True '將A2至D2的單元格名稱設(shè)定為A1到D1單元格的內(nèi)容 (243) Application.AddCustomList listarray:=Range("A1:A8") '自定義當(dāng)前工作表中單元格A1至A8中的內(nèi)容為自動(dòng)填充序列 (244) Worksheets("sheet1").Range("A1:B2").CopyPicturexlScreen, xlBitmap '將單元格A1至B2的內(nèi)容復(fù)制成屏幕快照 (245) Selection.Hyperlinks.Delete ‘刪除所選區(qū)域的所有鏈接 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:="按下我,就會(huì)開(kāi)啟Windows計(jì)算器", TextToDisplay:="Windows計(jì)算器" '在活動(dòng)單元格中設(shè)置開(kāi)啟Windows計(jì)算器鏈接 (247) ActiveCell.Value = Shell("C:\Windows\System32\Calc.exe",vbNormalFocus) '開(kāi)啟Windows計(jì)算器 (248) ActiveSheet.Rows(1).AutoFilter ‘打開(kāi)自動(dòng)篩選。若再運(yùn)行一次,則關(guān)閉自動(dòng)篩選 (249) Selection.Autofilter ‘開(kāi)啟/關(guān)閉所選區(qū)域的自動(dòng)篩選 (250) ActiveSheet.ShowAllData ‘關(guān)閉自動(dòng)篩選 (251) ActiveSheet.AutoFilterMode ‘檢查自動(dòng)篩選是否開(kāi)啟,若開(kāi)啟則該語(yǔ)句返回True (252)ActiveSheet.Columns("A").ColumnDifferences(Comparison:=ActiveSheet. _ Range("A2")).Delete '在A列中找出與單元格A2內(nèi)容不同的單元格并刪除 (253) ActiveSheet.Range("A6").ClearNotes '刪除單元格A6中的批注,包括聲音批注和文字批注 (254) ActiveSheet.Range("B8").ClearComments '刪除單元格B8中的批注文字 (255) ActiveSheet.Range("A1:D10").ClearFormats '清除單元格區(qū)域A1至D10中的格式 (256) ActiveSheet.Range("B2:D2").BorderAround ColorIndex:=5, _ Weight:=xlMedium, LineStyle:=xlDouble '將單元格B2至D2區(qū)域設(shè)置為藍(lán)色雙線 (257)Range("A1:B2").Item(2, 3)或Range("A1:B2")(2,3) ‘引用單元格C2的數(shù)據(jù) Range("A1:B2")(3) ‘引用單元格A2 (258) ActiveSheet.Cells(1, 1).Font.Bold = TRUE ‘設(shè)置字體加粗 ActiveSheet.Cells(1, 1).Font.Size = 24 ‘設(shè)置字體大小為24磅 ActiveSheet.Cells(1, 1).Font.ColorIndex = 3 ‘設(shè)置字體顏色為紅色 ActiveSheet.Cells(1, 1).Font.Italic = TRUE ‘設(shè)置字體為斜體 ActiveSheet.Cells(1, 1).Font.Name = "Times New Roman" ‘設(shè)置字體類型 ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘將單元格的背景色設(shè)置為紅色 (259) ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3'將當(dāng)前工作表中單元格區(qū)域C2至E6格式自動(dòng)調(diào)整為彩色3格式 (260) Cells.SpecialCells(xlCellTypeLastCell) ‘選中當(dāng)前工作表中的最后一個(gè)單元格 (261) ActiveCell.CurrentArray.Select '選定包含活動(dòng)單元格的整個(gè)數(shù)組單元格區(qū)域.假定該單元格在數(shù)據(jù)單元格區(qū)域中 (262) ActiveCell.NumberFormatLocal = "0.000; [紅色] 0.000" '將當(dāng)前單元格數(shù)字格式設(shè)置為帶3位小數(shù),若為負(fù)數(shù)則顯示為紅色 (263) IsEmpty (ActiveCell.Value) '判斷活動(dòng)單元格中是否有值 (264) ActiveCell.Value = LTrim(ActiveCell.Value) '刪除字符串前面的空白字符 (265) Len(ActiveCell.Value) '獲取活動(dòng)單元格中字符串的個(gè)數(shù) (266) ActiveCell.Value = UCase(ActiveCell.Value) '將當(dāng)前單元格中的字符轉(zhuǎn)換成大寫 (267) ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) '將活動(dòng)單元格中的字符串轉(zhuǎn)換成小寫 (268) ActiveSheet.Range("C1").AddComment '在當(dāng)前工作表的單元格C1中添加批注 (269) Weekday(Date) '獲取今天的星期,以數(shù)值表示,1-7分別對(duì)應(yīng)星期日至星期六 (270) ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10,1)) '將單元格A1的數(shù)值填充到單元格A1至A10區(qū)域中 (271) DatePart("y", Date) '獲取今天在全年中的天數(shù) (272) ActiveCell.Value = DateAdd("yyyy", 2, Date) '獲取兩年后的今天的日期 (273) MsgBox WeekdayName(Weekday(Date)) '獲取今天的星期數(shù) (274) ActiveCell.Value = Year(Date) '在當(dāng)前單元格中輸入今年的年份數(shù) ActiveCell.Value = Month(Date) '在當(dāng)前單元格中輸入今天所在的月份數(shù) ActiveCell.Value = Day(Date) '在當(dāng)前單元格中輸入今天的日期數(shù) (275) ActiveCell.Value = MonthName(1) '在當(dāng)前單元格中顯示月份的名稱,本句為顯示"一月" (276) ActiveCell.Value = Hour(Time) '在當(dāng)前單元格中顯示現(xiàn)在時(shí)間的小時(shí)數(shù) ActiveCell.Value = Minute(Time) '在當(dāng)前單元格中顯示現(xiàn)在時(shí)間的分鐘數(shù) ActiveCell.Value = Second(Time) '在當(dāng)前單元格中顯示現(xiàn)在時(shí)間的秒數(shù) (277) ActiveSheet.Shapes(1).Delete '刪除當(dāng)前工作表中的第一個(gè)形狀 (278) ActiveSheet.Shapes.Count '獲取當(dāng)前工作表中形狀的數(shù)量 (279) ActiveSheet.Shapes(1).TextEffect.ToggleVerticalText '改變當(dāng)前工作表中第一個(gè)藝術(shù)字的方向 (280) ActiveSheet.Shapes(1).TextEffect.FontItalic = True '將當(dāng)前工作表中第一個(gè)藝術(shù)字的字體設(shè)置為斜體 (281) ActiveSheet.Shapes.AddTextEffect(msoTextEffect21, "三峽", _ "Arial Black", 22#, msoFalse, msoFalse, 66#, 80).Select '在當(dāng)前工作表中創(chuàng)建一個(gè)名為"三峽"的藝術(shù)字并對(duì)其進(jìn)行格式設(shè)置和選中 (282) ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, _ EndY:=100).Select '在當(dāng)前工作表中以(10,10)為起點(diǎn)(250,100)為終點(diǎn)畫一條直線并選中 (283) ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在當(dāng)前工作表中畫一個(gè)左上角在(70,40),寬為130高為72的三角形并選中 (284) ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在當(dāng)前工作表中畫一個(gè)以點(diǎn)(70,40)為起點(diǎn),寬130高72的矩形并選中 (285) ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在當(dāng)前工作表中畫一個(gè)左上角在(70,40),寬為130高為72的橢圓 (286) ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255) '將當(dāng)前工作表中第一個(gè)形狀的線條顏色變?yōu)樗{(lán)色 (287) ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0) '將當(dāng)前工作表中第2個(gè)形狀的前景色設(shè)置為紅色 (288) ActiveSheet.Shapes(1).Rotation = 20 '將當(dāng)前工作表中的第1個(gè)形狀旋轉(zhuǎn)20度 (289) Selection.ShapeRange.Flip msoFlipHorizontal '將當(dāng)前選中的形狀水平翻轉(zhuǎn) Selection.ShapeRange.Flip msoFlipVertical '將當(dāng)前選中的形狀垂直翻轉(zhuǎn) (290) Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1 '將所選取的形狀設(shè)置為第1種立體樣式 (291) ActiveSheet.Shapes(1).ThreeD.Depth = 20 '將當(dāng)前工作表中第一個(gè)立體形狀的深度設(shè)置為20 (292) ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255) '將當(dāng)前工作表中第1個(gè)立體形狀的進(jìn)深部分的顏色設(shè)為藍(lán)色 (293) ActiveSheet.Shapes(1).ThreeD.RotationX = 60 '將當(dāng)前工作表中的第1個(gè)立體形狀沿X軸旋轉(zhuǎn)60度 ActiveSheet.Shapes(1).ThreeD.RotationY = 60 '將當(dāng)前工作表中的第1個(gè)立體形狀沿Y軸旋轉(zhuǎn)60度 (294) Selection.ShapeRange.ThreeD.Visible = msoFalse '將所選擇的立體形狀轉(zhuǎn)換為平面形狀 (295) Selection.ShapeRange.ConnectorFormat.BeginDisconnect '在形狀中讓指定的連接符起點(diǎn)脫離原來(lái)所連接的形狀 (296) ActiveSheet.Shapes(1).PickUp '復(fù)制當(dāng)前工作表中形狀1的格式 (297) ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 260, 160, 180,30). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" '在工作簿中新建一個(gè)文本框并輸入內(nèi)容 (298) ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 80, 100,200). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" '在當(dāng)前工作表中建立一個(gè)水平文本框并輸入內(nèi)容 (299) ActiveSheet.Shapes.AddPicture "d:\sx.jpg", True, True, 60, 20,400, 300 '在當(dāng)前工作表中插入一張d盤中名為sx的圖片 (300) ActiveChart.ApplyCustomType xl3DArea '將當(dāng)前圖表類型改為三維面積圖
|