1、VBA 常用语句VBA 常用语句定制模块行为(1)强制对模块内所有变量进行声明Option Explicit标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Private Module字符串不区分大小写Option Compare Text指定数组的第一个下标为1Option Base 1(2)忽略错误继续执行VBA代码,避免出现错误消息On Error Resume Next(3)当错误发生时跳转到过程中的某个位置On Error GoTo ErrorHandler(4)恢复正常的错误提示On Error GoTo 0(5)在程序执行过程中使出现的警告框不显示Ap
2、plication.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)关闭当前工作簿ThisWorkboo
3、k.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 = xl
4、Maximized工作表(18)当前工作表中已使用的行数ActiveSheet.UsedRange.Rows.Count(19)获取工作表的行数(注:考虑向前兼容性)Rows.Count(20)将Sheet1命名为SumSheets(Sheet1).Name = Sum(21)添加一个新工作表在第一工作表前ThisWorkbook.Sheets.Add Before:=Worksheets(1)(22)将当前工作表移至工作表的最后ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count)(23)同时选
5、择工作表1和工作表2Worksheets(Array(sheet1, sheet2).Select(24)删除工作表1Sheets(sheet1).Delete或Sheets(1).Delete(25)获取工作表i的名称ActiveWorkbook.Sheets(i).Name(26)切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines(27)切换工作表中的行列边框显示ActiveWindow.DisplayHeadings = Not
6、 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
7、.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.Clear
8、Contents彻底清除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)将单元格区
9、域复制到单元格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)活动窗口中选择的单元格数
10、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列的
11、单元格Selection.Range(E4).Select(46)引单元格C5Cells.Item(5,C)引单元格C5Cells.Item(5,3)(47)指定单元格F5Range(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(Ran
12、ge(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.
13、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区域为computerRange(A1:C3).Name =
14、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)命名字符串CompanyCarNames.Add Name:=Company, RefersTo:=CompanyCar(63)
15、将数字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.W
16、orksheetFunction.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-1C-1*R2C:R-1C)图表(70)获取当前工作表中图表的个数ActiveSheet.ChartObjects.Count(71)选中当前工作表中图表Chart1ActiveSheet.ChartObjects(
17、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)指定图表数据源并按列排列
18、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.gifWorksheets(Sheet1).ChartObjects(1).Chart. _Export Filename:=C:My
19、Chart.gif, FilterName:=GIF窗体(80)消息框中显示消息HelloMsgBox 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
20、代替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 UserForm
21、1(87)隐藏用户窗体UserForm1.Hide(88)卸载用户窗体Unload UserForm1或Unload Me(89)在用户窗体中显示图形Picture1.Picture = LoadPicture(C:1.JPG)(90)将窗体设置为无模式状态UserForm1.Show 0或UserForm1.Show vbModeless(91)窗体高度为当前活动窗口高度的0.88Me.Height = Int(0.88 * ActiveWindow.Height)窗体宽度为当前活动窗口高度的0.88Me.Width = Int(0.88 * ActiveWindow.Width)事件(92
22、)禁用所有事件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 目录
23、ExcelSheet.SaveAs C:TEST.XLS关闭 ExcelExcelSheet.Application.Quit释放该对象变量Set ExcelSheet = Nothing(94)声明并创建一个Excel对象引用Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet xlApp = CreateObject(Excel.Application)Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Wo
24、rksheets(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)无论何时工作表中任意单元
25、格重新计算,都会强制计算该函数Application.Volatile True只有在该函数的一个或多个参数发生改变时,才会重新计算该函数Application.Volatile False* 定制模块行为(101)清除程序运行过程中所有的错误Err.Clear* 工作簿(102)返回上次保存工作簿的日期和时间ThisWorkbook.BuiltinDocumentProperties (Last Save Time)或Application.Caller.Parent.Parent.BuiltinDocumentProperties (Last Save Time)(103)返回上次打印或预
26、览工作簿的日期和时间ThisWorkbook.BuiltinDocumentProperties (Last Print Date)或Application.Caller.Parent.Parent.BuiltinDocumentProperties (Last Print Date)(104)关闭所有打开的工作簿Workbooks.Close(105)返回当前工作簿中的第一条链接ActiveWorkbook.LinkSources(xlExcelLinks)(1)(106)返回工作簿代码的名称ActiveWorkbook.CodeNameThisWorkbook.CodeName(107)返
27、回当前工作簿文件格式代码ActiveWorkbook.FileFormatThisWorkbook.FileFormat(108)返回当前工作簿的路径(注:若工作簿未保存,则为空)ThisWorkbook.PathActiveWorkbook.Path(109)返回当前工作簿的读/写值(为False)ThisWorkbook.ReadOnlyActiveWorkbook.ReadOnly(110)返回工作簿的存储值(若已保存则为False)ThisWorkbook.SavedActiveWorkbook.Saved(111)隐藏工作簿Application.Visible = False显示工作簿Application.V
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1