《Excel中最常用的300句VBA编程语句培训资料.doc》由会员分享,可在线阅读,更多相关《Excel中最常用的300句VBA编程语句培训资料.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。Excel中最常用的300句VBA编程语句-Excel中最常用的300句VBA编程语句最近研究了一下vba编程,主要是针对excel的,现在为了学习,特别从网上搜集了300句常用语句,以备不时之需,也留给网友,不方便的时候查询一下。定制模块行为(1)OptionExplicit强制对模块内所有变量进行声明OptionPrivateModule标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示OptionCompareText字符串不区分大小写OptionBase1指定数组的第一个下标为1(2
2、)OnErrorResumeNext忽略错误继续执行VBA代码,避免出现错误消息(3)OnErrorGoToErrorHandler当错误发生时跳转到过程中的某个位置(4)OnErrorGoTo0恢复正常的错误提示(5)Application.DisplayAlerts=False在程序执行过程中使出现的警告框不显示(6)Application.ScreenUpdating=False关闭屏幕刷新Application.ScreenUpdating=True打开屏幕刷新(7)Application.Enable.CancelKey=xlDisabled禁用Ctrl+Break中止宏运行的功能工
3、作簿(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=
4、False禁止调整活动工作簿的大小(16)Application.Window.ArrangexlArrangeStyleTiled将工作簿以平铺方式排列(17)ActiveWorkbook.WindowState=xlMaximized将当前工作簿最大化工作表(18)ActiveSheet.UsedRange.Rows.Count当前工作表中已使用的行数(19)Rows.Count获取工作表的行数(注:考虑向前兼容性)(20)Sheets(Sheet1).Name=“Sum”将Sheet1命名为Sum(21)ThisWorkbook.Sheets.AddBefore:=Worksheets(
5、1)添加一个新工作表在第一工作表前(22)ActiveSheet.MoveAfter:=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=NotAct
6、iveWindow.DisplayGridlines切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27)ActiveWindow.DisplayHeadings=NotActiveWindow.DisplayHeadings切换工作表中的行列边框显示(28)ActiveSheet.UsedRange.FormatConditions.Delete删除当前工作表中所有的条件格式(29)Cells.Hyperlinks.Delete取消当前工作表所有超链接(30)ActiveSheet.PageSetup.Orientation=xlLandscape或Act
7、iveSheet.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选择当前活动单元格所包含的
8、范围,上下左右无空行(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)
9、偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1)向上偏移一行(38)Range(“A1”).CopyRange(“B1”)复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).CopyRange(“F1”)将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).CutRange(“F1”)剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.CopySheets(“Sheet2”).Range(“A1”)复制包含A1的单元格区域到工作表2中以A1起
10、始的单元格区域中注: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”
11、).Font.ColorIndex检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex获取单元格A1背景色(44)cells.count返回当前工作表的单元格数(45)Selection.Range(“E4”).Select激活当前活动单元格下方3行,向右4列的单元格(46)Cells.Item(5,”C”)引单元格C5Cells.Item(5,3)引单元格C5(47)Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5)指定单元格F5(48)Range(“
12、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单元格区域D
13、ata中的列数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(xlCellTypeAllFormatCondit
14、ions)在活动工作表中返回所有符合条件格式设置的区域(58)Range(“A1”).AutoFilterField:=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删
15、除名称(61)Names.AddName:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A)”动态命名列(62)Names.AddName:=“Company”,RefersTo:=“CompanyCar”命名字符串CompanyCar(63)Names.AddName:=“Total”,RefersTo:=123456将数字123456命名为Total。注意数字不能加引号,否则就是命名字符串了。(64)Names.AddName:=“MyArray”,RefersTo:=ArrayNum将数组ArrayN
16、um命名为MyArray。(65)Names.AddName:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False将名称隐藏(66)ActiveWorkbook.Names(“Com”).Name返回名称字符串公式与函数(67)Application.WorksheetFunction.IsNumber(“A1”)使用工作表函数检查A1单元格中的数据是否为数字(68)Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”).Activate激活单元格区域A列中最大值的单元格(69)C
17、ells(8,8).FormulaArray=“=SUM(R2C-1:R-1C-1*R2C:R-1C)”在单元格中输入数组公式。注意必须使用R1C1样式的表达式图表(70)ActiveSheet.ChartObjects.Count获取当前工作表中图表的个数(71)ActiveSheet.ChartObjects(“Chart1”).Select选中当前工作表中图表Chart1(72)ActiveSheet.ChartObjects(“Chart1”).ActivateActiveChart.ChartArea.Select选中当前图表区域(73)WorkSheets(“Sheet1”).Ch
18、artObjects(“Chart2”).Chart._ChartArea.Interior.ColorIndex=2更改工作表中图表的图表区的颜色(74)Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2更改图表工作表中图表区的颜色(75)Charts.Add添加新的图表工作表(76)ActiveChart.SetSourceDataSource:=Sheets(“Sheet1”).Range(“A1:D5”),_PlotBy:=xlColumns指定图表数据源并按列排列(77)ActiveChart.LocationWhere:=xlLocat
19、ionAsNewSheet新图表作为新图表工作表(78)ActiveChart.PlotArea.Interior.ColorIndex=xlNone将绘图区颜色变为白色(79)WorkSheets(“Sheet1”).ChartObjects(1).Chart._ExportFileName:=“C:MyChart.gif”,FilterName:=“GIF”将图表1导出到C盘上并命名为MyChart.gif窗体(80)MsgBox“Hello!”消息框中显示消息Hello(81)Ans=MsgBox(“Continue?”,vbYesNo)在消息框中点击“是”按钮,则Ans值为vbYes;
20、点击“否”按钮,则Ans值为vbNo。IfMsgBox(“Continue?”,vbYesNo)vbYesThenExitSub返回值不为“是”,则退出(82)Config=vbYesNo+vbQuestion+vbDefaultButton2使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮(83)MsgBox“Thisisthefirstline.”&vbNewLine&“Secondline.”在消息框中强制换行,可用vbCrLf代替vbNewLine。(84)MsgBox“theaverageis:”&Format(Application.WorksheetFuncti
21、on.Average(Selection),”#,#0.00),vbInformation,“selectioncountaverage”&Chr(13)应用工作表函数返回所选区域的平均值并按指定格式显示(85)Userform1.Show显示用户窗体(86)LoadUserform1加载一个用户窗体,但该窗体处于隐藏状态(87)Userform1.Hide隐藏用户窗体(88)UnloadUserform1或UnloadMe卸载用户窗体(89)(图像控件).Picture=LoadPicture(“图像路径”)在用户窗体中显示图形(90)UserForm1.Show0或UserForm1.Sh
22、owvbModeless将窗体设置为无模式状态(91)Me.Height=Int(0.88*ActiveWindow.Height)窗体高度为当前活动窗口高度的0.88Me.Width=Int(0.88*ActiveWindow.Width)窗体宽度为当前活动窗口高度的0.88事件(92)Application.EnableEvents=False禁用所有事件Application.EnableEvents=True启用所有事件注:不适用于用户窗体控件触发的事件对象(93)SetExcelSheet=CreateObject(“Excel.Sheet”)创建一个Excel工作表对象ExcelS
23、heet.Application.Visible=True设置Application对象使Excel可见ExcelSheet.Application.Cells(1,1).Value=“Data”在表格的第一个单元中输入文本ExcelSheet.SaveAs“C:TEST.XLS”将该表格保存到C:test.xls目录ExcelSheet.Application.Quit关闭ExcelSetExcelSheet=Nothing释放该对象变量(94)声明并创建一个Excel对象引用DimxlAppAsExcel.ApplicationDimxlBookAsExcel.WorkbookDimxlS
24、heetAsExcel.WorkSheetSetxlApp=CreateObject(“Excel.Application”)SetxlBook=xlApp.Workbooks.AddSetxlSheet=xlBook.Worksheets(1)(95)创建并传递一个Excel.Application对象的引用CallMySub(CreateObject(“Excel.Application”)(96)Setd=CreateObject(Scripting.Dictionary)创建一个Dictionary对象变量(97)d.Add“a”,“Athens”为对象变量添加关键字和条目其他(98)
25、Application.OnKey“I”,”macro”设置Ctrl+I键为macro过程的快捷键(99)Application.CutCopyMode=False退出剪切/复制模式(100)Application.VolatileTrue无论何时工作表中任意单元格重新计算,都会强制计算该函数Application.VolatileFalse只有在该函数的一个或多个参数发生改变时,才会重新计算该函数*定制模块行为(101)Err.Clear清除程序运行过程中所有的错误*工作簿(102)ThisWorkbook.BuiltinDocumentProperties(“LastSaveTime”)或
26、Application.Caller.Parent.Parent.BuiltinDocumentProperties(“LastSaveTime”)返回上次保存工作簿的日期和时间(103)ThisWorkbook.BuiltinDocumentProperties(“LastPrintDate”)或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“LastPrintDate”)返回上次打印或预览工作簿的日期和时间(104)Workbooks.Close关闭所有打开的工作簿(105)ActiveWorkbook.LinkSou
27、rces(xlExcelLinks)(1)返回当前工作簿中的第一条链接(106)ActiveWorkbook.CodeNameThisWorkbook.CodeName返回工作簿代码的名称(107)ActiveWorkbook.FileFormatThisWorkbook.FileFormat返回当前工作簿文件格式代码(108)ThisWorkbook.PathActiveWorkbook.Path返回当前工作簿的路径(注:若工作簿未保存,则为空)(109)ThisWorkbook.ReadOnlyActiveWorkbook.ReadOnly返回当前工作簿的读/写值(为False)(110)
28、ThisWorkbook.SavedActiveWorkbook.Saved返回工作簿的存储值(若已保存则为False)(111)Application.Visible=False隐藏工作簿Application.Visible=True显示工作簿注:可与用户窗体配合使用,即在打开工作簿时将工作簿隐藏,只显示用户窗体.可设置控制按钮控制工作簿可见*工作表(112)ActiveSheet.Columns(“B”).Insert在A列右侧插入列,即插入B列ActiveSheet.Columns(“E”).CutActiveSheet.Columns(“B”).Insert以上两句将E列数据移至B列
29、,原B列及以后的数据相应后移ActiveSheet.Columns(“B”).CutActiveSheet.Columns(“E”).Insert以上两句将B列数据移至D列,原C列和D列数据相应左移一列(113)ActiveSheet.Calculate计算当前工作表(114)ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden正常隐藏工作表,同在Excel菜单中选择“格式工作表隐藏”操作一样ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden隐藏工作表,不能通过在Exc
30、el菜单中选择“格式工作表取消隐藏”来重新显示工作表ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible显示被隐藏的工作表(115)ThisWorkbook.Sheets(1).ProtectContents检查工作表是否受到保护(116)ThisWorkbook.Worksheets.AddCount:=2,_Before:=ThisWorkbook.Worksheets(2)或ThisWorkbook.Workshees.AddThisWorkbook.Worksheets(2),2在第二个工作表之前添加两个新的工作表(117)T
31、hisWorkbook.Worksheets(3).Copy复制一个工作表到新的工作簿(118)ThisWorkbook.Worksheets(3).CopyThisWorkbook.Worksheets(2)复制第三个工作表到第二个工作表之前(119)ThisWorkbook.ActiveSheet.Columns.ColumnWidth=20改变工作表的列宽为20ThisWorkbook.ActiveSheet.Columns.ColumnWidth=_ThisWorkbook.ActiveSheet.StandardWidth将工作表的列宽恢复为标准值ThisWorkbook.Activ
32、eSheet.Columns(1).ColumnWidth=20改变工作表列1的宽度为20(120)ThisWorkbook.ActiveSheet.Rows.RowHeight=10改变工作表的行高为10ThisWorkbook.ActiveSheet.Rows.RowHeight=_ThisWorkbook.ActiveSheet.StandardHeight将工作表的行高恢复为标准值ThisWorkbook.ActiveSheet.Rows(1).RowHeight=10改变工作表的行1的高度值设置为10(121)ThisWorkbook.Worksheets(1).Activate当前
33、工作簿中的第一个工作表被激活(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)Active
34、Sheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues)选中当前工作表中常量和文本单元格ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues)选中当前工作表中常量和文本及错误值单元格*公式与函数(126)Application.MacroOptionsMacro:=”SumPro”,Category:=4将自定义的SumPro函数指定给Excel中的“统计函数”类别(127)Application.MacroOptionsMacro:=”Sum
35、Pro”,_Description:=”FirstSum,thenProduct”为自定义函数SumPro进行了功能说明(128)Application.WorksheetFunction.CountA(Range(“A:A”)+1获取A列的下一个空单元格(129)WorksheetFunction.CountA(Cell.EntireColumn)返回该单元格所在列非空单元格的数量WorksheetFunction.CountA(Cell.EntireRow)返回该单元格所在行非空单元格的数量(130)WorksheetFunction.CountA(Cells)返回工作表中非空单元格数量(
36、131)ActiveSheet.Range(“A20:D20”).Formula=“=Sum(R-19C:R-1C”对A列至D列前19个数值求和*图表(132)ActiveWindow.Visible=False或ActiveChart.Deselect使图表处于非活动状态(133)TypeName(Selection)=”Chart”若选中的为图表,则该语句为真,否则为假(134)ActiveSheet.ChartObjects.Delete删除工作表上所有的ChartObject对象ActiveWorkbook.Charts.Delete删除当前工作簿中所有的图表工作表*窗体和控件(135
37、)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.Co
38、unt显示窗体UserForm1上的控件数目(140)ListBox1.AddItem“Command1”在列表框中添加Command1(141)ListBox1.ListIndex返回列表框中条目的值,若为-1,则表明未选中任何列表框中的条目(142)RefEdit1.Text返回代表单元格区域地址的文本字符串RefEdit1.Text=ActiveWindow.RangeSelection.Address初始化RefEdit控件显示当前所选单元格区域SetFirstCell=Range(RefEdit1.Text).Range(“A1”)设置某单元格区域左上角单元格(143)Applica
39、tion.OnTimeNow+TimeValue(“00:00:15),“myProcedure”等待15秒后运行myProcedure过程(144)ActiveWindow.ScrollColumn=ScrollBarColumns.Value将滚动条控件的值赋值给ActiveWindow对象的ScrollColumn属性ActiveWindow.ScrollRow=ScrollBarRows.Value将滚动条控件的值赋值给ActiveWindow对象的ScrollRow属性(145)UserForm1.ListBox1.AddItemSheets(“Sheet1”).Cells(1,1)
40、将单元格A1中的数据添加到列表框中ListBox1.List=Product将一个名为Product数组的值添加到ListBox1中ListBox1.RowSource=”Sheet2!SumP”使用工作表Sheet2中的SumP区域的值填充列表框(146)ListBox1.Selected(0)选中列表框中的第一个条目(注:当列表框允许一次选中多个条目时,必须使用Selected属性)(147)ListBox1.RemoveItemListBox1.ListIndex移除列表框中选中的条目*对象Application对象(148)Application.UserName返回应用程序的用户名(
41、149)Application.Caller返回代表调用函数的单元格(150)Application.Caller.Parent.Parent返回调用函数的工作簿名称(151)Application.StatusBar=”请等待”将文本写到状态栏Application.StatusBar=”请等待”&Percent&“%Completed”更新状态栏文本,以变量Percent代表完成的百分比Application.StatusBar=False将状态栏重新设置成正常状态(152)Application.GotoReference:=Range(“A1:D4”)指定单元格区域A1至D4,等同于选
42、择“编辑定位”,指定单元格区域为A1至D4,不会出现“定位”对话框(153)Application.Dialogs(xlDialogFormulaGoto).Show显示“定位”对话框,但定位条件按钮无效(154)Application.Dialogs(xlDialogSelectSpecial).Show显示“定位条件”对话框(155)Application.Dialogs(xlDialogFormatNumber).show显示“单元格格式”中的“数字”选项卡Application.Dialogs(xlDialogAlignment).show显示“单元格格式”中的“对齐”选项卡Appli
43、cation.Dialogs(xlDialogFontProperties).show显示“单元格格式”中的“字体”选项卡Application.Dialogs(xlDialogBorder).show显示“单元格格式”中的“边框”选项卡Application.Dialogs(xlDialogPatterns).show显示“单元格格式”中的“图案”选项卡Application.Dialogs(xlDialogCellProtection).show显示“单元格格式”中的“保护”选项卡注:无法一次显示带选项卡的“单元格格式”对话框,只能一次显示一个选项卡。(156)Application.Di
44、alogs(xlDialogFormulaGoto).showRange(“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版本号
45、(160)Application.Cursor=xlNorthwestArrow设置光标形状为北西向箭头Application.Cursor=xlIBeam设置光标形状为字形Application.Cursor=xlWait设置光标形状为沙漏(等待)形Application.Cursor=xlDefault恢复光标的默认设置(161)Application.WindowState返回窗口当前的状态Application.WindowState=xlMinimized窗口最小化Application.WindowState=xlMaximized窗口最大化Application.WindowSt
46、ate=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版本