Excel VBA语句集300
ExcelExcel之VBA编程常用语句300句

ExcelExcel之VBA编程常用语句300句(257) Range("A1:B2").Item(2, 3)或Range("A1:B2")(2, 3) ‘引用单元格C2的数据Range("A1:B2")(3) ‘引用单元格A2(258) ActiveSheet.Cells(1, 1).Font.Bold = TRUE ‘设置字体加粗ActiveSheet.Cells(1, 1).Font.Size = 24 ‘设置字体大小为24磅ActiveSheet.Cells(1, 1).Font.ColorIndex = 3 ‘设置字体颜色为红色ActiveSheet.Cells(1, 1).Font.Italic = TRUE ‘设置字体为斜体ActiveSheet.Cells(1, 1) = "Times New Roman" ‘设置字体类型ActiveSheet.Cells(1, 1).Interior.Col orIndex = 3 ‘将单元格的背景色设置为红色(259) ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3 '将当前工作表中单元格区域C2至E6格式自动调整为彩色3格式(260) Cells.SpecialCells(xlCellTypeLastCell) ‘选中当前工作表中的最后一个单元格(261) ActiveCell.CurrentArray.Select '选定包含活动单元格的整个数组单元格区域.假定该单元格在数据单元格区域中(262) ActiveCell.NumberFormatLocal = "0.000; [红色] 0.000" '将当前单元格数字格式设置为带3位小数,若为负数则显示为红色(263) IsEmpty (ActiveCell.Value) '判断活动单元格中是否有值(264) ActiveCell.Value = LTrim(ActiveCell.Value) '删除字符串前面的空白字符(265) Len(ActiveCell.Value) '获取活动单元格中字符串的个数(266) ActiveCell.Value = UCase(ActiveCell.Value) '将当前单元格中的字符转换成大写(267) ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) '将活动单元格中的字符串转换成小写(268) ActiveSheet.Range("C1").AddComment '在当前工作表的单元格C1中添加批注(269) Weekday(Date) '获取今天的星期,以数值表示,1-7分别对应星期日至星期六(270) ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10, 1)) '将单元格A1的数值填充到单元格A1至A10区域中(271) DatePart("y", Date) '获取今天在全年中的天数(272) ActiveCell.Value = DateAdd("yyyy", 2, Date) '获取两年后的今天的日期(273) MsgBox WeekdayName(Weekday(Date)) '获取今天的星期数(274) ActiveCell.Value = Year(Date) '在当前单元格中输入今年的年份数ActiveCell.Value = Month(Date) '在当前单元格中输入今天所在的月份数ActiveCell.Value = Day(Date) '在当前单元格中输入今天的日期数(275) ActiveCell.Value = MonthName(1) '在当前单元格中显示月份的名称,本句为显示"一月"(276) ActiveCell.Value = Hour(Time) '在当前单元格中显示现在时间的小时数ActiveCell.Value = Minute(Time) '在当前单元格中显示现在时间的分钟数ActiveCell.Value = Second(Time) '在当前单元格中显示现在时间的秒数(277) ActiveSheet.Shapes(1).Delete '删除当前工作表中的第一个形状(278) ActiveSheet.Shapes.Count '获取当前工作表中形状的数量(279) ActiveSheet.Shapes(1).TextEffect.ToggleVerticalText '改变当前工作表中第一个艺术字的方向(280) ActiveSheet.Shapes(1).TextEffect.FontItalic = True '将当前工作表中第一个艺术字的字体设置为斜体(281) ActiveSheet.Shapes.AddTextEffect(msoTextEffect21, "三峡", _"Arial Black", 22#, msoFalse, msoFalse, 66#, 80).Select '在当前工作表中创建一个名为"三峡"的艺术字并对其进行格式设置和选中(282) ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, _EndY:=100).Select '在当前工作表中以(10,10)为起点(250,100)为终点画一条直线并选中(283)ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在当前工作表中画一个左上角在(70,40),宽为130高为72的三角形并选中(284)ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在当前工作表中画一个以点(70,40)为起点,宽130高72的矩形并选中(285) ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _ Left:=70, Top:=40, Width:=130, Height:=72).Select '在当前工作表中画一个左上角在(70,40),宽为130高为72的椭圆(286) ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255) '将当前工作表中第一个形状的线条颜色变为蓝色(287) ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0) '将当前工作表中第2个形状的前景色设置为红色(288) ActiveSheet.Shapes(1).Rotation = 20 '将当前工作表中的第1个形状旋转20度(289) Selection.ShapeRange.Flip msoFlipHorizontal '将当前选中的形状水平翻转Selection.ShapeRange.Flip msoFlipVertical '将当前选中的形状垂直翻转(290) Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1 '将所选取的形状设置为第1种立体样式(291) ActiveSheet.Shapes(1).ThreeD.Depth = 20 '将当前工作表中第一个立体形状的深度设置为20(292) ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255) '将当前工作表中第1个立体形状的进深部分的颜色设为蓝色(293) ActiveSheet.Shapes(1).ThreeD.RotationX = 60 '将当前工作表中的第1个立体形状沿X轴旋转60度ActiveSheet.Shapes(1).ThreeD.RotationY = 60 '将当前工作表中的第1个立体形状沿Y轴旋转60度(294) Selection.ShapeRange.ThreeD.Visible = msoFalse '将所选择的立体形状转换为平面形状(295)Selection.ShapeRange.ConnectorFormat.BeginDisconnect '在形状中让指定的连接符起点脱离原来所连接的形状(296) ActiveSheet.Shapes(1).PickUp '复制当前工作表中形状1的格式(297)ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 260, 160, 180, 30). TextFrame.Characters.T ext = "" '在工作簿中新建一个文本框并输入内容(298)ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 80, 100, 200). TextFrame.Characters.Text = "" '在当前工作表中建立一个水平文本框并输入内容(299) ActiveSheet.Shapes.AddPicture "d:\sx.jpg", True, True, 60, 20, 400, 300 '在当前工作表中插入一张d盘中名为sx的图片(300) ActiveChart.ApplyCustomType xl3DArea '将当前图表类型改为三维面积图。
excel vba string 语句

在Excel VBA(Visual Basic for Applications)中,字符串是一种常见的数据类型,用于表示文本。
你可以使用各种VBA函数和方法来操作和处理字符串。
以下是一些基本的VBA字符串语句和操作的示例:1、声明和赋值字符串变量:vbaDim myString As StringmyString = "Hello, World!"2、字符串连接:vbaDim firstName As StringDim lastName As StringfirstName = "John"lastName = "Doe"Dim fullName As StringfullName = firstName & " " & lastName ' 结果是"John Doe"3、字符串长度:vbaDim strLength As IntegerstrLength = Len(myString) ' 结果是134、字符串查找:vbaDim foundPosition As IntegerfoundPosition = InStr(myString, "World") ' 结果是8,因为"World"是从第8个字符开始出现的5、字符串替换:vbaDim newString As StringnewString = Replace(myString, "World", "Excel") ' 结果是"Hello, Excel!"6、字符串分割:vbaDim splitArray() As StringsplitArray = Split(myString, ", ") ' 结果是一个数组,包含"Hello" 和"World!"7、字符串转换为大写或小写:vbaDim upperString As StringDim lowerString As StringupperString = UCase(myString) ' 结果是"HELLO, WORLD!"lowerString = LCase(myString) ' 结果是"hello, world!"8、去除字符串前后的空格:vbaDim trimmedString As StringtrimmedString = Trim(myString) ' 如果myString前后有空格,则去除它们9、判断字符串是否以特定子字符串开始或结束:vbaDim startsWithHello As BooleanDim endsWithWorld As BooleanstartsWithHello = Left(myString, 5) = "Hello" ' 结果是TrueendsWithWorld = Right(myString, 5) = "World" ' 结果是True这些是VBA中处理字符串的一些基本语句和操作。
Excel VBA语句集(300句)

Excel VBA语句集定制模块行为(1) Option Explicit ‘强制对模块内所有变量进行声明Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text ‘字符串不区分大小写Option Base 1 ‘指定数组的第一个下标为1(2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 ‘恢复正常的错误提示(5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False ‘关闭屏幕刷新Application.ScreenUpdating=True ‘打开屏幕刷新(7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() ‘创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿(10) ThisWorkbook.Save ‘保存工作簿(11) ThisWorkbook.close ‘关闭当前工作簿(12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数(13) ‘返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum”‘将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete ‘删除工作表1(25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28) edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName ‘将用户名放置在活动工作表的页脚单元格/单元格区域(32) ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select ‘选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select ‘选定当前工作表的所有单元格(34) Range(“A1”).ClearContents ‘清除活动工作表上单元格A1中的内容Selection.ClearContents ‘清除选定区域内容Range(“A1:D4”).Clear ‘彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear ‘清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select ‘活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行(38) Range(“A1”).Copy Range(“B1”) ‘复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”) ‘将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”) ‘剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) ‘复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) ActiveWindow.RangeSelection.Value=XX ‘将值XX输入到所选单元格区域中(40) ActiveWindow.RangeSelection.Count ‘活动窗口中选择的单元格数(41) Selection.Count ‘当前选中区域的单元格数(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(44) cells.count ‘返回当前工作表的单元格数(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,”C”) ‘引单元格C5Cells.Item(5,3) ‘引单元格C5(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5) ‘指定单元格F5(48) Ra nge(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3) ‘创建B3:D13区域(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域(52) Range(“Data”).Count ‘单元格区域Data中的单元格数Range(“Data”). Columns.Count ‘单元格区域Data中的列数Range(“Data”). Rows.Count ‘单元格区域Data中的行数(53) Selection.Columns.Count ‘当前选中的单元格区域中的列数Selection.Rows.Count ‘当前选中的单元格区域中的行数(54) Selection.Areas.Count ‘选中的单元格区域所包含的区域数(55) edRange.Row ‘获取单元格区域中使用的第一行的行号(56) Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range(“A1:C3”).Name=“computer”‘命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book”‘命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot”‘将区域computer重命名为robot(60) Names(“book”).Delete ‘删除名称(61) Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))”‘动态命名列(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar”‘命名字符串CompanyCar(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。
Excel-VBA-语句集300

Excel VBA 语句集300定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) =False '在程序执行过程中使出现的警告框不显示(6) =False '关闭屏幕刷新=True '打开屏幕刷新(7) '禁用Ctrl+Break中止宏运行的功能工作簿(8) () '创建一个新的工作簿(9) Workbooks("").Activate '激活名为book1的工作簿(10) '保存工作簿(11) '关闭当前工作簿(12) '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) '返回当前工作簿名称'返回当前工作簿路径和名称(15) =False '禁止调整活动工作簿的大小(16) xlArrangeStyleTiled '将工作簿以平铺方式排列(17) =xlMaximized '将当前工作簿最大化工作表(18) '当前工作表中已使用的行数(19) '获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= "Sum" '将Sheet1命名为Sum(21) Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) After:=ActiveWorkbook. _Sheets '将当前工作表移至工作表的最后(23) Worksheets(Array("sheet1","sheet2")).Select '同时选择工作表1和工作表2(24) Sheets("sheet1").Delete或 Sheets(1).Delete '删除工作表1(25) (i).Name '获取工作表i的名称(26) =Not '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) =Not '切换工作表中的行列边框显示(28) '删除当前工作表中所有的条件格式(29) '取消当前工作表所有超链接(30)或 '将页面设置更改为横向(31) '在页面设置的表尾中输入文件路径'将用户名放置在活动工作表的页脚单元格/单元格区域(32)或Range(xlUp),(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) '选定当前工作表的所有单元格(34) Range("A1").ClearContents '清除活动工作表上单元格A1中的内容'清除选定区域内容Range("A1:D4").Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) '清除工作表中所有单元格的内容(36) (1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range("A1").Offset(ColumnOffset:=1)或Range("A1").Offset(,1) '偏移一列Range("A1").Offset(Rowoffset:=-1)或Range("A1").Offset(-1) '向上偏移一行(38) Range("A1").Copy Range("B1") '复制单元格A1,粘贴到单元格B1中Range("A1:D8").Copy Range("F1") '将单元格区域复制到单元格F1开始的区域中Range("A1:D8").Cut Range("F1") '剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range("A1"). Sheets("Sheet2").Range("A1") '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) '将值XX输入到所选单元格区域中(40) '活动窗口中选择的单元格数(41) '当前选中区域的单元格数(42) GetAddress=Replace(1).Address,mailto:,"") '返回单元格中超级链接的地址并赋值(43) TextColor=Range("A1"). '检查单元格A1的文本颜色并返回颜色索引Range("A1"). '获取单元格A1背景色(44) '返回当前工作表的单元格数(45) ("E4").Select '激活当前活动单元格下方3行,向右4列的单元格(46) (5,"C") '引单元格C5(5,3) '引单元格C5(47) Range("A1").Offset(RowOffset:=4,ColumnOffset:=5)或 Range("A1").Offset(4,5) '指定单元格F5(48) Range("B3").Resize(RowSize:=11,ColumnSize:=3)Rnage("B3").Resize(11,3) '创建B3:D13区域(49) Range("Data").Resize(,2) '将Data区域扩充2列(50) Union(Range("Data1"),Range("Data2")) '将Data1和Data2区域连接(51) Intersect(Range("Data1"),Range("Data2")) '返回Data1和Data2区域的交叉区域(52) Range("Data").Count '单元格区域Data中的单元格数Range("Data"). '单元格区域Data中的列数Range("Data"). '单元格区域Data中的行数(53) '当前选中的单元格区域中的列数'当前选中的单元格区域中的行数(54) '选中的单元格区域所包含的区域数(55) '获取单元格区域中使用的第一行的行号(56) '获取单元格区域Rng左上角单元格所在列编号(57) '在活动工作表中返回所有符合条件格式设置的区域(58) Range("A1").AutoFilter Field:=3,VisibleDropDown:=False '关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range("A1:C3").Name="computer" '命名A1:C3区域为computer或Range("D1:E6").Name="Sheet1!book" '命名局部变量,即Sheet1上区域D1:E6为book或 Names("computer").Name="robot" '将区域computer重命名为robot(60) Names("book").Delete '删除名称(61) Name:="ContentList",_RefersTo:="=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))" '动态命名列(62) Name:="Company",RefersTo:="CompanyCar" '命名字符串CompanyCar(63) Name:="Total",RefersTo:=123456 '将数字123456命名为Total。
excel vba 常用条件语句

excel vba 常用条件语句Excel VBA 是一种用于编写宏和自定义函数的编程语言,可以在Excel 中实现自动化操作和数据处理。
条件语句是Excel VBA 中非常常用的一种语句类型,用于根据不同的条件执行不同的代码。
下面列举了十个常用的 Excel VBA 条件语句。
1. If语句If语句是Excel VBA 中最基本的条件语句,用于根据条件来执行不同的代码块。
它的语法如下:```If 条件 Then代码块ElseIf 条件 Then代码块Else代码块End If```2. Select Case语句Select Case语句是用于根据不同的条件执行不同的代码块的语句。
它的语法如下:```Select Case 表达式Case 条件1代码块1Case 条件2代码块2Case Else代码块3End Select```3. Do While循环Do While循环用于在满足条件的情况下重复执行一段代码块。
它的语法如下:```Do While 条件代码块Loop```4. Do Until循环Do Until循环与Do While循环类似,只是条件的判断相反。
它的语法如下:```Do Until 条件代码块Loop```5. For循环For循环用于在指定的次数内重复执行一段代码块。
它的语法如下:```For 变量 = 起始值 To 结束值 Step 步长代码块Next 变量```6. For Each循环For Each循环用于遍历集合中的每个元素,并执行相应的代码块。
它的语法如下:```For Each 变量 In 集合代码块Next 变量```7. Exit语句Exit语句用于提前退出循环或子程序。
它可以与条件语句结合使用,根据特定的条件提前退出循环或子程序。
它的语法如下:```Exit DoExit ForExit Sub```8. GoTo语句GoTo语句用于跳转到指定的标签或行号。
必须收藏!Excel-VBA语法200句

[VBA] 语法200句定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option CompareText '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoToErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5)Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(6)Application.ScreenUpdating=False '关闭屏幕刷新Application.ScreenUpdating=True'打开屏幕刷新(7)Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() '创建一个新的工作簿(9) Workbooks(「book1.xls」).Activate '激活名为book1的工作簿(10) ThisWorkbook.Save '保存工作簿(11) ThisWorkbook.close '关闭当前工作簿(12)ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) 『返回当前工作簿名称ThisWorkbook.FullName 『返回当前工作簿路径和名称(15)ActiveWindow.EnableResize=False 『禁止调整活动工作簿的大小(16)Application.Window.Arrange xlArrangeStyleTiled 『将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized『将当前工作簿最大化工作表(18)edRange.Rows.Count 『当前工作表中已使用的行数(19) Rows.Count 『获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= 「Sum」 '将Sheet1命名为Sum(21) ThisWorkbook.Sheets.AddBefore:=Worksheets(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=Not ActiveWindow.DisplayGridlines '切换工作表中的网网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27)ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings 『切换工作表中的行列边框显示(28)edRange.FormatConditions.Delete 『删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete 『取消当前工作表所有超链接(30)ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2'将页面设置更改为横向(31)ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName 『在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName『将用户名放置在活动工作表的页脚单元格/单元格区域(32)ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select 『选定当前工作表的所有单元格(34) Range(「A1」).ClearContents '清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(「A1:D4」).Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear '清除工作表中所有单元格的内容(36)ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range(「A1」).Offset(ColumnOffset:=1)或Range(「A1」).Offset(,1)『偏移一列 Range(「A1」).Offset(Rowoffset:=-1)或Range(「A1」).Offset(-1) 『向上偏移一行(38) Range(「A1」).Copy Range(「B1」) '复制单元格A1,粘贴到单元格B1中Range(「A1:D8」).Copy Range(「F1」) '将单元格区域复制到单元格F1开始的区域中Range(「A1:D8」).Cut Range(「F1」) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(「A1」).CurrentRegion.CopySheets(「Sheet2」).Range(「A1」) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39)ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中(40)ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(41) Selection.Count '当前选中区域的单元格数(42)GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,」」) 『返回单元格中超级链接的地址并赋值(43) TextColor=Range(「A1」).Font.ColorIndex 『检查单元格A1的文本颜色并返回颜色索引 Range(「A1」).Interior.ColorIndex 『获取单元格A1背景色(44) cells.count 『返回当前工作表的单元格数(45) Selection.Range(「E4」).Select 『激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,」C」) 『引单元格C5Cells.Item(5,3) 『引单元格C5(47) Range(「A1」).Offset(RowOffset:=4,ColumnOffset:=5)或 Range(「A1」).Offset(4,5) 『指定单元格F5(48) Range(「B3」).Resize(RowSize:=11,ColumnSize:=3)Rnage(「B3」).Resize(11,3) 『创建B3:D13区域(49) Range(「Data」).Resize(,2) 『将Data区域扩充2列(50) Union(Range(「Data1」),Range(「Data2」)) 『将Data1和Data2区域连接(51) Intersect(Range(「Data1」),Range(「Data2」)) 『返回Data1和Data2区域的交叉区域(52) Range(「Data」).Count 『单元格区域Data中的单元格数Range(「Data」). Columns.Count 『单元格区域Data中的列数Range(「Data」). Rows.Count 『单元格区域Data中的行数(53) Selection.Columns.Count 『当前选中的单元格区域中的列数Selection.Rows.Count 『当前选中的单元格区域中的行数(54) Selection.Areas.Count 『选中的单元格区域所包含的区域数(55) edRange.Row 『获取单元格区域中使用的第一行的行号(56) Rng.Column 『获取单元格区域Rng左上角单元格所在列编号(57)ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) 『在活动工作表中返回所有符合条件格式设置的区域(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 『删除名称(61) Names.Add Name:=「ContentList」,_RefersTo:=「=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))」『动态命名列(62) Names.Add Name:=「Company」,RefersTo:=「CompanyCar」『命名字符串CompanyCar(63) Names.Add Name:=「Total」,RefersTo:=123456『将数字123456命名为Total。
excel VBA常用的100条语法

VBA语句集(第1辑)定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False '关闭屏幕刷新Application.ScreenUpdating=True '打开屏幕刷新(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() '创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(10) ThisWorkbook.Save '保存工作簿(11) ThisWorkbook.close '关闭当前工作簿(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) '返回当前工作簿名称ThisWorkbook.FullName '返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False '禁止调整活动工作簿的大小(16) Application.Window.Arrange xlArrangeStyleTiled '将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized '将当前工作簿最大化工作表(18) edRange.Rows.Count '当前工作表中已使用的行数(19) Rows.Count '获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings '切换工作表中的行列边框显示(28) edRange.FormatConditions.Delete '删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete '取消当前工作表所有超链接(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName '在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName '将用户名放置在活动工作表的页脚单元格/单元格区域(32) ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select '选定当前工作表的所有单元格(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear '清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) '偏移一列Ra nge(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) '向上偏移一行(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中(40) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(41) Selection.Count '当前选中区域的单元格数(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) '返回单元格中超级链接的地址并赋值(43) TextColor=Range(“A1”).Font.ColorIndex '检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex '获取单元格A1背景色(44) cells.count '返回当前工作表的单元格数(45) Selection.Range(“E4”).Select '激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,”C”) '引单元格C5Cells.Item(5,3) '引单元格C5(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5) '指定单元格F5(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3) '创建B3:D13区域(49) Range(“Data”).Resize(,2) '将Data区域扩充2列(50) Union(Range(“Data1”),Range(“Data2”)) '将Data1和Data2区域连接(51) Intersect(Range(“Data1”),Range(“Data2”)) '返回Data1和Data2区域的交叉区域(52) Range(“Data”).Count '单元格区域Data中的单元格数Range(“Data”). Columns.Count '单元格区域Data中的列数Range(“Data”). Rows.Count '单元格区域Data中的行数(53) Selection.Columns.Count '当前选中的单元格区域中的列数Selection.Rows.Count '当前选中的单元格区域中的行数(54) Selection.Areas.Count '选中的单元格区域所包含的区域数(55) edRange.Row '获取单元格区域中使用的第一行的行号(56) Rng.Column '获取单元格区域Rng左上角单元格所在列编号(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) '在活动工作表中返回所有符合条件格式设置的区域(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False '关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range(“A1:C3”).Name=“computer” '命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book” '命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot” '将区域computer重命名为robot(60) Names(“book”).Delete '删除名称(61) Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” '动态命名列(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” '命名字符串CompanyCar(63) Names.Add Name:=“Total”,RefersTo:=123456 '将数字123456命名为Total。
Excel-VBA命令大全

本示例为设置密码窗口 (1) If Application.InputBox("请输入密码:") = 1234 Then [A1] = 1 '密码正确时执行 Else: MsgBox "密码错误,即将退出!" '此行与第2行共同设置密码 End If本示例为设置密码窗口 (1) X = MsgBox("是否真的要结帐?", vbYesNo) If X = vbYes Then Close本示例为设置工作表密码ActiveSheet.Protect Password:=641112 ' 保护工作表并设置密码ActiveSheet.Unprotect Password:=641112 '撤消工作表保护并取消密码 '本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改容。
For Each w In Workbooks If Then w.Close SaveChanges:=True End If Next w '每次打开工作簿时,本示例都最大化 Microsoft Excel 窗口。
Application.WindowState = xlMaximized '本示例显示活动工作表的名称。
MsgBox "The name of the active sheet is " & '本示例保存当前活动工作簿的副本。
ActiveWorkbook.SaveCopyAs "C:/TEMP/XXXX.XLS" '下述过程激活工作簿中的第四工作表。
Sheets(4).Activate '下述过程激活工作簿中的第1工作表。
Worksheets(1).Activate '本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。
excel常用vba代码 和语法

excel常用vba代码和语法Excel VBA(Visual Basic for Applications)是一种为Excel编程的语言,可以使用VBA代码来自动化执行各种操作。
以下是一些常用的VBA代码和语法示例:1. 定义和使用变量:```vbaDim num As Integernum = 10```2. 循环结构:- For循环:```vbaFor i = 1 To 10' 循环体Next i```- While循环:```vbaWhile i < 10' 循环体i = i + 1Wend```3. 条件判断:- If语句:```vbaIf condition Then' 条件满足时执行的代码ElseIf condition Then' 第二个条件满足时执行的代码Else' 条件不满足时执行的代码End If```- Select Case语句:```vbaSelect Case gradeCase "A"' A级别操作Case "B", "C"' B或C级别操作Case Else' 其他情况的操作End Select```4. 定义和调用子过程(函数):```vbaSub MySubroutine()' 子过程的代码End SubFunction MyFunction()' 函数的代码MyFunction = resultValue ' 返回结果End Function```5. 控制Excel对象:- 打开和关闭工作簿:```vbaWorkbooks.Open ("C:\example.xlsx") ActiveWorkbook.Close```- 读取和写入单元格:```vbaRange("A1").Value = "Hello"value = Range("A1").Value```- 获取和设置工作表属性:```vbaSheets("Sheet1").Activate Worksheets.Add```这些示例演示了一些常用的VBA代码和语法。
Excel VBA常用语句全集

Excel VBA语句集(300句)定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text '字符串不区分大小写Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 '恢复正常的错误提示(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False '关闭屏幕刷新Application.ScreenUpdating=True '打开屏幕刷新(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() '创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(10) ThisWorkbook.Save '保存工作簿(11) ThisWorkbook.close '关闭当前工作簿,workbooks.close只能关闭里面的,而外面的文件不能关掉。
application.workbooks.quit关闭整个EXCEL表格。
(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum”'将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28) edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName ‘将用户名放置在活动工作表的页脚单元格/单元格区域(32) ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select ‘选定当前工作表的所有单元格(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear '清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中(40) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(41) Selection.Count '当前选中区域的单元格数(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(44) cells.count ‘返回当前工作表的单元格数(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,”C”) ‘引单元格C5Cells.Item(5,3) ‘引单元格C5(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5) ‘指定单元格F5(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3) ‘创建B3:D13区域(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域(52) Range(“Data”).Count ‘单元格区域Data中的单元格数Range(“Data”). Columns.Count ‘单元格区域Data中的列数Range(“Data”). Rows.Count ‘单元格区域Data中的行数(53) Selection.Columns.Count ‘当前选中的单元格区域中的列数Selection.Rows.Count ‘当前选中的单元格区域中的行数(54) Selection.Areas.Count ‘选中的单元格区域所包含的区域数(55) edRange.Row ‘获取单元格区域中使用的第一行的行号(56) Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range(“A1:C3”).Name=“computer”‘命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book”‘命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot”‘将区域computer重命名为robot(60) Names(“book”).Delete ‘删除名称(61) Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))”‘动态命名列(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar”‘命名字符串CompanyCar(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。
办公软件学习技巧:Excel VBA常用代码100句

Excel VBA常用代码100句(1) Option Explicit 强制对模块内全部变量进行声明(2) Option Base 1 指定数组的第一个下标为1(3) On Error Resume Next 忽视错误连续执行VBA代码,避开消失错误消息(4) On Error GoTo 100 当错误发生时跳转到过程中的某个位置(5) On Error GoTo 0 恢复正常的错误提示(6) Application.DisplayAlerts=False 在程序执行过程中使消失的警告框不显示(7) Application.DisplayAlerts=True 在程序执行过程中恢复显示警告框(8) Application.ScreenUpdating=False 关闭屏幕刷新(9) Application.ScreenUpdating = True 打开屏幕刷新(10) Workbooks.Add() 创建一个新的工作簿(11) Workbooks(“book1.xls”).Activate 激活名为book1的工作簿(12) ThisWorkbook.Save 保存工作簿(13) ThisWorkbook.close 关闭当前工作簿(14) ActiveWorkbook.Sheets.Count 猎取活动工作薄中工作表数(15) 返回活动工作薄的名称(16) ‘返回当前工作簿名称(17) ThisWorkbook.FullName ‘返回当前工作簿路径和名(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘猎取工作表的行数(注:考虑兼容性)(20) Sheets(Sheet1).Name= “Sum” 将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) 添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) 将当前工作表移至工作表的最终(23) Worksheets(Array(“sheet1”,”sheet2”)).Select 同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete 删除工作表1(25) ActiveShee edRange.FormatConditions.Delete ‘删除当前工作表中全部的条件格式(26) Cells.Hyperlinks.Delete ‘取消当前工作表全部超链接(27) ActiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,等同于快捷键Ctrl+A(28) Cells.Select ‘选定当前工作表的全部单元格(29) Range(“A1”).ClearContents 清除活动工作表上单元格A1中的内容。
excel VBA常用语句

语法说明
参数说明
语句示例
For Ea句] [Exit For] [语句]
item:集合或数组中的元素 collection:集合或者数组
Next [item]
For counter = start To end [Step
step]
counter:计数器变量
Put [#]filenumber , [recnumber ], varname Randomize [number ] ReDim [Preserve] varname (subscripts ) [As type ] Reset Resume [0] Resume Next Resume line RmDir path
filenumberlist,则由 Open 语句打开的所有活动文件
都将关闭。
constname:常量名
type:数据类型
expression:常量的值
date:指定的日期表达式
varname:变量名
subscripts:下标(适用于数组变量)
type:数据类型
End可以终止所有正在运行的程序
name:枚举名称 membername:枚举成员名称 constantexpression:枚举成员值
语法说明
参数说明
Sub name [(arglist)]
[语句] [Exit Sub] [语句]
oldname:旧的文件名 newname:新的文件名
Exce疑难千寻千解
VBA入门与提高
附录2
VBA常用语句
语句名 On Error
语句说明 设定出错时的处理方式
Open
启用对文件的输入/输出
Option Base
EXCELVBA常用代码集

EXCELVBA常用代码集1.显示活动工作簿名称MsgBox "当前活动工作簿是" & 2.保存活动工作簿Activeworkbook.Save3.保存所有打开的工作簿关闭EXCELFor Each W in Application.WorkbooksW.SaveNext WApplication.Quit4.将网格线设置为蓝色ActiveWindow.GridlineColorIndex = 55.将工作表sheet1隐藏Sheet1.Visible = xlSheetVeryHidden6.将工作表Shtte1显示Sheet1.Visible = xlSheetVisible7.单击某单元格,该单元格所在的行以蓝色背景填充,字体颜色为白色Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)If Target.Row >= 2 Then’第二行以下的区域On Error Resume Next[ChangColor_With1].FormatConditions.Delete = "ChangColor_With1"With [ChangColor_With1].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5.Item(1).Font.ColorIndex = 2End WithEnd IfEnd Sub8.使窗体在启动的时候自动最大化Private Sub UserForm_Initialize()Application.WindowState = xlMaximizedWith ApplicationMe.Top = .TopMe.Left = .LeftMe.Height = .HeightMe.Width = .WidthEnd WithEnd Sub9.不保存工作簿退出EXCELApplication.DisplayAlerts = FalseApplication.Quit10.使窗体的关闭按纽不好用Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)If CloseMode = vbformcontrdmenu ThenMsgBox "请用关闭按钮关闭窗口!!", 64, "提示"Cancel = TrueEnd IfEnd Sub11.使窗体在3秒后自动关闭Private Sub UserForm_Activate()Application.Wait Now + TimeValue("00:00:03")UserForm1.HideEnd Sub12.启动窗体的时候自动使Label1显示Sheet1工作表3列,8行的内容Private Sub UserForm_Activate()Label1.Caption = Sheets("sheet1").Cells(3, 8)End Sub13.让按纽CommandButton1在窗体上以不可用状态显示CommandButton1.Enabled = False14.让按纽Commandbutton1在窗体上以隐藏方式存在CommandButton10.Visible = False15.点击Commandbutton1按纽进入”工资”工作表Sheets("工资").Select16.在Textbox1中输入数据,窗体可显示出”工资”工作表中与输入内容关联的项Private Sub TextBox1_Change()For X = 1 To Application.CountA(Sheets("工资").Range("a:a")) If Sheets("工资").Cells(X, 1) = TextBox1.Text Then’在工资表第一列查找与Textbox1输入相符的项Label2.Caption = Sheets("工资").Cells(X, 2)’在Label2中显示Textbox1数据所在的第二列的数据Label7.Caption = Sheets("工资").Cells(X, 3)’在Label2中显示Textbox1数据所在的第三列的数据End IfNextEnd Sub17.使EXCEL启动的时候自动最小化/最大化Private Sub Workbook_Open()Application.WindowState = xlMinimized’最小化Application.WindowState = xlMaximized’最大化End Sub18.在Label25以数字的形式显示TextBox12×Label14的结果Label25.Caption = Val(TextBox12.Text) * Val(Label14.Caption)19.单选按纽名与Sheet6工作表名相同OptionButton6.Caption = 20.”登陆”窗体的显示,隐藏登陆.Show’显示登陆.Hide’隐藏21.使窗体的标题栏不显示(1)插入类模块” CFormChanger”代码如下:Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As LongPrivate Const GWL_STYLE As Long = (-16)Private Const WS_CAPTION As Long = &HC00000Dim hWndForm As Long……………………………………………………………………………………………………………..Public Property Set Form(oForm As Object) '29If Val(Application.Version) < 9 ThenhWndForm = FindWindow("ThunderXFrame", oForm.Caption)ElsehWndForm = FindWindow("ThunderDFrame", oForm.Caption)End IfSetFormStyleEnd Property……………………………………………………………………………………………………………….Private Sub SetFormStyle()Dim iStyle As Long, hMenu As Long, hID As Long, iItems As IntegeriStyle = GetWindowLong(hWndForm, GWL_STYLE)iStyle = iStyle And Not WS_CAPTIONiStyle = iStyle Or WS_THICKFRAMESetWindowLong hWndForm, GWL_STYLE, iStyleDrawMenuBar hWndFormEnd Sub(2)在所在窗体代码里声明Dim oFormChanger As New CFormChanger(3).在窗体的Activate事件中插入代码Set oFormChanger.Form = MeMe.SpecialEffect = fmspecia1EffectRaised以上三步每一步都不可缺少,否则不能完成.22.单击某单元格,该单元格所在的行与列都以蓝色背景填充Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)If Target.Row >= 2 Then’第二行以下的所有列On Error Resume Next[ChangColor_With2].FormatConditions.Delete[ChangColor_With3].FormatConditions.Delete = "ChangColor_With2" = "ChangColor_With3"With [ChangColor_With2].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithWith [ChangColor_With3].FormatConditions.Delete.Add xlExpression, , "TRUE".Item(1).Interior.ColorIndex = 5End WithEnd IfEnd Sub23.显示动态时间(1)插入窗体Userform1及Label1并在窗体声明中插入Option ExplicitPublic nextRun As Date(2)在窗体Activate事件中插入Showtime(3)在窗体QueryClose事件中插入Application.OnTime nextRun, "showtime", schedule:=False (4)插入模块Module1并输入Option ExplicitSub showtime()bel1 = NowUserForm1.RepaintDoEventsUserForm1.nextRun = Now + 1 / 86400Application.OnTime UserForm1.nextRun, "showtime" End Sub24.加载Combobox1选项ComboBox1.AddItem "收入型"ComboBox1.Additem “支出型”25.使Textbox1自动程输入状态显示(有光标闪动)TextBox1.SetFocus26.打开C盘目录Shell "explorer.exe C:\", 1。
ExcelVBA入门的基础语句

ExcelVBA入门的基础语句选择当前活动的工作簿:ThisWorkbook.Activate如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“.xls” ,例如:Windows('Totol.xls').Activate选择一个工作表:Sheets('Balance').Activate.选择单元格:Range('A1').Select选择连续的单元格:Range('A1:G8').Select选择不连续的单元格:Range('A1,B6,D9').SelectRange('A1,B6:B10,D9').Select单元格间移动:ActiveCell.Offset(13, 14).SelectSelection.Offset(-3, -4).SelectRange('G8').Offset(-3, -4).Select注意:你可以定义一变量,并且用offset来实现,例如:varFreightRowsCount = Range('A1').CurrentRegion.Rows.CountActiveCell.Offset(varFreightRowsCount, 0).Select选择整个工作表:Cells.Select选择当前单元格所在的区域(遇到空行/空列即止):Range('A1').CurrentRegion.Select选择行或列:Rows('1').SelectColumns('A').Select或者:ActiveCell.EntireRow.SelectActiveCell.EntireColumn.Select选择相邻的多行/多列:Columns('A:C').SelectRows('1:5').Select选择不相邻的多行/多列:注意:和选择相邻的多行/多列不同,使用'Range'而不是'Columns/Rows':Range('A:A, C:C, E:F').SelectRange('1:1,5:6,9:9').Select选择当前活动单元格向下至最后一个非空单元格:Range('A1', Range('A1').End(xlDown)).SelectRange(ActiveCell, ActiveCell.End(xlDown)).Select选择当前活动单元格向上至第一个非空单元格:Range('A32', Range('A32').End(xlUp)).SelectRange(ActiveCell, ActiveCell.End(xlUp)).Select选择当前活动单元格向右至第一个非空单元格。
Excel VBA语句集(300句)

Excel VBA语句集定制模块行为(1) Option Explicit ‘强制对模块内所有变量进行声明Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text ‘字符串不区分大小写Option Base 1 ‘指定数组的第一个下标为1(2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息(3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置(4) On Error GoTo 0 ‘恢复正常的错误提示(5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示(6) Application.ScreenUpdating=False ‘关闭屏幕刷新Application.ScreenUpdating=True ‘打开屏幕刷新(7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能工作簿(8) Workbooks.Add() ‘创建一个新的工作簿(9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿(10) ThisWorkbook.Save ‘保存工作簿(11) ThisWorkbook.close ‘关闭当前工作簿(12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数(13) ‘返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20) Sheets(Sheet1).Name= “Sum”‘将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook. _Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete ‘删除工作表1(25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28) edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName ‘将用户名放置在活动工作表的页脚单元格/单元格区域(32) ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select ‘选择当前活动单元格所包含的范围,上下左右无空行(33) Cells.Select ‘选定当前工作表的所有单元格(34) Range(“A1”).ClearContents ‘清除活动工作表上单元格A1中的内容Selection.ClearContents ‘清除选定区域内容Range(“A1:D4”).Clear ‘彻底清除A1至D4单元格区域的内容,包括格式(35) Cells.Clear ‘清除工作表中所有单元格的内容(36) ActiveCell.Offset(1,0).Select ‘活动单元格下移一行,同理,可下移一列(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行(38) Range(“A1”).Copy Range(“B1”) ‘复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”) ‘将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”) ‘剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) ‘复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39) ActiveWindow.RangeSelection.Value=XX ‘将值XX输入到所选单元格区域中(40) ActiveWindow.RangeSelection.Count ‘活动窗口中选择的单元格数(41) Selection.Count ‘当前选中区域的单元格数(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(44) cells.count ‘返回当前工作表的单元格数(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格(46) Cells.Item(5,”C”) ‘引单元格C5Cells.Item(5,3) ‘引单元格C5(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5) ‘指定单元格F5(48) Ra nge(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3) ‘创建B3:D13区域(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域(52) Range(“Data”).Count ‘单元格区域Data中的单元格数Range(“Data”). Columns.Count ‘单元格区域Data中的列数Range(“Data”). Rows.Count ‘单元格区域Data中的行数(53) Selection.Columns.Count ‘当前选中的单元格区域中的列数Selection.Rows.Count ‘当前选中的单元格区域中的行数(54) Selection.Areas.Count ‘选中的单元格区域所包含的区域数(55) edRange.Row ‘获取单元格区域中使用的第一行的行号(56) Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59) Range(“A1:C3”).Name=“computer”‘命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book”‘命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot”‘将区域computer重命名为robot(60) Names(“book”).Delete ‘删除名称(61) Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))”‘动态命名列(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar”‘命名字符串CompanyCar(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。
excel vba string 语句

excel vba string 语句在Excel VBA中,你可以使用字符串变量来存储和处理文本数据。
以下是一些常见的字符串操作语句:声明字符串变量:在子过程或函数的开头,你可以声明一个字符串变量,如下所示:Dim myString As String赋值:你可以将文本赋给字符串变量,如下所示:myString = "Hello, World!"字符串连接:你可以使用 & 运算符将两个字符串连接起来,如下所示:vbaCopy codeDim firstName As StringDim lastName As StringDim fullName As StringfirstName = "John"lastName = "Doe"fullName = firstName & " " & lastName这将把 fullName 设置为 "John Doe"。
字符串长度:你可以使用 Len 函数获取字符串的长度,如下所示:vbaCopy codeDim myString As StringmyString = "Hello, World!"MsgBox Len(myString) ' 显示 13,即字符串的字符数提取子字符串:你可以使用 Mid 函数从一个字符串中提取子字符串,如下所示:vbaCopy codeDim myString As StringmyString = "Hello, World!"MsgBox Mid(myString, 1, 5) ' 显示 "Hello"这将从 myString 的第一个字符开始提取 5 个字符。
查找子字符串:你可以使用 InStr 函数查找一个字符串中是否包含另一个子字符串,并返回其位置,如下所示:vbaCopy codeDim myString As StringmyString = "Hello, World!"MsgBox InStr(myString, "World") ' 显示 8,即 "World" 在myString 中的位置这将返回子字符串 "World" 在 myString 中的位置。
VBA 语句汇总

程序错误继续执行On Error Resume Next屏幕不更新Application.ScreenUpdating = FalseApplication.ScreenUpdating = True警示为假Application.DisplayAlerts = False关掉文件不保存Windows().ActivateActiveWorkbook.Close savechanges:=False定义选中区域的坐标dim x,yx = Selection.Row() '行数y = Selection.Column() '列数单元格所在的行数ActiveCell.Row ‘活动单元格所在的行数ActiveCell.Column ‘活动单元格所在的列数通过使用行列编号,可用Cells 属性来引用单个单元格。
该属性返回代表单个单元格的Range 对象。
下例中,Cells(6,1) 返回Sheet1 上的单元格A6,然后将Value 属性设置为10。
Sub EnterValue()Worksheets("Sheet1").Cells(6, 1).Value = 10End Sub因为可用变量替代编号,所以Cells 属性非常适合于在单元格区域中循环,如下例所示。
Sub CycleThrough()Dim Counter As IntegerFor Counter = 1 To 20Worksheets("Sheet1").Cells(Counter, 3).Value = CounterNext CounterEnd Sub叮叮小文库在命名区域中的单元格上循环下例用For Each...Next 循环语句在命名区域中的每一个单元格上循环。
如果该区域中的任一单元格的值超过limit 的值,就将该单元格的颜色更改为黄色。
Sub ApplyColor()Const Limit As Integer = 25For Each c In Range("MyRange")If c.Value > Limit Thenc.Interior.ColorIndex = 27End IfNext cEnd Sub增加一个workbooks, name CarrierWorkbooks.AddActiveWorkbook.SaveAs Filename:="D:\BOM Produce\carrier.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _, CreateBackup:=False增加一个表单,获取nameSheets.Addx = Sheets(x).Select插入一列Range("E5").SelectSelection.EntireRow.Insert插入一栏Range("F6").SelectSelection.EntireColumn.Insert向右移动一格ActiveCell.Offset(0, -1).Select'当前单元格当前单元格的值叮叮小文库ActiveCell.FormulaR1C1 = “UseRow”复制表单Windows("spacebom.xls").ActivateCells.SelectSelection.CopyWindows("Bomsetup.xls").ActivateSheets("Sheet2").SelectCells.SelectActiveSheet.PasteRange("A1").Select复制单元格Windows("Akiko Resource Budget Plan.xls").ActivateRange("BK71").SelectApplication.CutCopyMode = FalseSelection.CopyWindows("Book1.xls").ActivateSheets("Sheet2").SelectActiveSheet.Paste当前单元格整栏选择ActiveCell.EntireColumn.Select、整栏复制与粘贴Columns("C:C").SelectSelection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False两栏进行交换Columns("L:L").SelectSelection.CutColumns("N:N").SelectSelection.Insert Shift:=xlToRightDelete:Rows("2:2").SelectSelection.Delete Shift:=xlUpRange("B4").SelectSelection.EntireRow.Delete叮叮小文库每列从第k栏开始每5个一列进行排列:Windows("bomsetup.xls").ActivateDim Counter As IntegerFor Counter = 2 To 1000Cells(Counter, 11).SelectIf ActiveCell.Value = "" ThenActiveCell.Offset(1, 0).SelectElseActiveCell.Offset(1, -5).SelectSelection.EntireRow.InsertActiveCell.Offset(-1, 5).SelectRange(Selection, Selection.End(xlToRight)).SelectSelection.CutActiveCell.Offset(1, -5).SelectActiveSheet.PasteEnd IfNext Counter字体变色Range("C3").SelectSelection.Font.ColorIndex = 3单元格变背景色Selection.Interior.ColorIndex=3字体变粗Range("D4").SelectSelection.Font.Bold = True在B栏中查找是否有0000后Columns("B:B").SelectSet findxx = Selection.Find("0000")If findxx Is Nothing Then在B栏中查找0000后,向左移动一格Columns("B:B").SelectSelection.Find(What:="0000", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _False, MatchByte:=False, SearchFormat:=False).ActivateActiveCell.Offset(0, -1).Select在c栏中找到N/a后用******替代Columns("C:C").SelectSelection.Replace What:="n/a", Replacement:="******", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ReplaceFormat:=False排序Cells.SelectSelection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("C2") _ , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _, Orientation:=xlTopToBottom, SortMethod:=xlStroke, DataOption1:= _xlSortNormal, DataOption2:=xlSortNormal自动塞选Cells.SelectSelection.AutoFilterSelection.AutoFilter Field:=10 ‘取消赛选第10栏Selection.AutoFilter Field:=10, Criteria1:="<>#N/A", Operator:=xlAnd ‘ 第10栏选择非#N/A自动运行FormPrivate Sub Workbook_Open()你的窗体.ShowEnd Sub调整宽度Columns("L:L").EntireColumn.AutoFit代表单元格区域"A1:J10"Range(Cells(1,1),Cells(10,10))代表单元格区域"A1:J10"区分颜色并删除Sub FilterColor()Dim UseRow, ACUseRow = Cells.SpecialCells(xlCellTypeLastCell).RowAC = ActiveCell.ColumnFor i = 1 To UseRowIf Cells(i, AC).Interior.ColorIndex <> ActiveCell.Interior.ColorIndex ThenCells(i, AC).EntireRow.deleteEnd IfNextEnd IfEnd Sub依次打开选定数据夹中的xls 文件Sub aa()Dim myDialog As FileDialog, oFile As Object, strName As String, n As Integer Dim FSO As Object, myFolder As Object, myFiles As ObjectDim ySet myDialog = Application.FileDialog(msoFileDialogFolderPicker)n = 1With myDialogIf .Show <> -1 Then Exit SubSet FSO = CreateObject("Scripting.FileSystemObject")Set myFolder = FSO.GetFolder(.InitialFileName)Set myFiles = myFolder.FilesFor Each oFile In myFilesstrName = UCase()strName = VBA.Right(strName, 3)If strName = "XLS" Theny = Workbooks.open Filename:=yn = n + 1End IfNextEnd WithEnd SubSUM 变量引用Dim nRow1, nRow2 As IntegerDim nCol As IntegernRow1 = 2nRow2 = 11nCol = 4Range("d12").Formula = "=sum(d" & nRow1 & ":d" & nRow2 & ")"或者ActiveCell.FormulaR1C1 = "=SUM(R[-1]C:R[-" & J & "]C)"叮叮小文库XlDirection 可为XlDirection 常量之一。
Excel中VBA代码段汇集,附中文解说

Excel中VBA代码段汇集,附中文解说vba语句(1) Option Explicit '强制对模块内所有变量进行声明(2) Option Base 1 '指定数组的第一个下标为1(3) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息(4) On Error GoT o 100 '当错误发生时跳转到过程中的某个位置(5) On Error GoT o 0 '恢复正常的错误提示(6) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示(7) Application.DisplayAlerts=True '在程序执行过程中(8) Application.ScreenUpdating=False '关闭屏幕刷新(9) Application.ScreenUpdating = True '打开屏幕刷新(10) Workbooks.Add() '创建一个新的工作簿(11) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿(12) ThisWorkbook.Save '保存工作簿(13) ThisWorkbook.close '关闭当前工作簿(14) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(15) '返回活动工作薄的名称(16) ‘返回当前工作簿名称(17) ThisWorkbook.FullName ‘返回当前工作簿路径和名(18) (18) edRange.Rows.Count ‘当前工作表中已使用的行数(19) Rows.Count ‘获取工作表的行数(注:考虑兼容性)(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前(22) ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2(24) Sheets(“sheet1”).Delete或Sheets(1).Delete '删除工作表1(25) edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(26) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(27) ActiveCell.CurrentRegion.Select选择当前活动单元格所包含的范围,上下左右无空行(28) Cells.Select ‘选定当前工作表的所有单元格(29) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式(30) Cells.Clear '清除工作表中所有单元格的内容(31) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(32) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中(33) Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中(34) Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中(35) Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(36) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(37) Selection.Count '当前选中区域的单元格数(38) Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色(39) cells.count ‘返回当前工作表的单元格数(40) Range(“B3”).Resize(11, 3)(41) Union(Range(“A1:A9”),Range(“D1:D9”)) 区域连接(42) Intersect(Range(“A1:B9”),Range(“A1:D9”))) ‘返回的交叉区域(43) Selection.Columns.Count ‘当前选中的单元格区域中的列数(44) Selection.Rows.Count ‘当前选中的单元格区域中的行数(45) edRange.Row ‘获取单元格区域中使用的第一行的行号(46) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字(47)Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate'激活单元格区域A列中最大值的单元格(48) MsgBox “Hello!” '消息框中显示消息Hello(49) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中点击“是”按钮,则Ans值为vbYes;点击“否”按钮,则Ans值为vbNo。
ExcelVBA语法

ExcelVBA语法VBA语法 [复制链接]数据类型“数据类型”是指如何将数据存储在内存中。
(1)Boolean表示逻辑数据,可以是True或False中的任一个值。
占用2字节的存储空间,取值范围为True或False,缺省值为False。
(2)Byte只能表示正数。
占用1字节的存储空间,取值范围为0-255,缺省值为0。
(3)Currency一种保存货币值数据的特殊数字格式。
占用8字节的存储空间,取值范围为-922337203685477.5808-922337203685477.5807,缺省值为0。
(4)Date一种用于表示日期或时间的专用格式。
占用8字节的存储空间,取值范围为100年1月1日——9999年12月31日,缺省值为00:00:00。
(5)Decimal一种包含以10的幂为刻度的十进制数的变体子类型,只能通过CDec转换函数创建,不是一种独立的数据类型。
占用14字节的存储空间,取值范围为±79228162514264337593543950335(不带小数点)或±7.9228162514264337593543950335(带28位小数点),缺省值为0。
(Decimal数据类型是在Excel 2000中引入的,在以前的版本中不能使用这种数据类型。
该数据类型非常特殊,因为不能实际声明它,它是Variant的子类型,必须使用CDec函数将一个变量转换为Decimal数据类型)(6)Double存储双精度浮点数,占用8字节的存储空间,取值范围为负值:-1.79769313486232E308——4.94065645841247E-324,正值:1.79769313486232E308——4.94065645841247E-324,缺省值为0。
(7)Integer表示从-32768-32767之间的整数,其中一位表示符号,占用2字节的存储空间,缺省值为0。
(8)Long表示存储为4个字节空间的带符号的数,其中一位表示符号,取值范围为-2147483648-2147483647,缺省值为0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009-07-07Excel VBA语句集300关键字: vba定制模块行为(1)OptionExplicit '强制对模块内所有变量进行声明OptionPrivateModule '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示OptionCompareText '字符串不区分大小写OptionBase1 '指定数组的第一个下标为 1(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中止宏运行的功能工作簿(8)Workbooks.Add() '创建一个新的工作簿(9)Workbooks(“book1.xls”).Activate'激活名为book1的工作簿(10)ThisWorkbook.Save '保存工作簿(11)ThisWorkbook.close '关闭当前工作簿(12)ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数(13) '返回活动工作薄的名称(14) ‘返回当前工作簿名称ThisWorkbook.FullName ‘返回当前工作簿路径和名称(15)ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小(16)Application.Window.ArrangexlArrangeStyleTiled ‘将工作簿以平铺方式排列(17)ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化工作表(18)edRange.Rows.Count ‘当前工作表中已使用的行数(19)Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)(20)Sheets(Sheet1).Name= “Sum”'将Sheet1命名为Sum(21)ThisWorkbook.Sheets.AddBefore:=Worksheets(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=NotActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27)ActiveWindow.DisplayHeadings=NotActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示(28)edRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式(29)Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接(30)ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向(31)ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName ‘将用户名放置在活动工作表的页脚单元格/单元格区域(32)ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33)Cells.Select ‘选定当前工作表的所有单元格(34)Range(“A1”).ClearContents'清除活动工作表上单元格A1中的内容Selection.ClearContents '清除选定区域内容Range(“A1:D4”).Clear'彻底清除A1至D4单元格区域的内容,包括格式(35)Cells.Clear '清除工作表中所有单元格的内容(36)ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列(37)Range(“A1”).Offs et(ColumnOffset:=1)或Range(“A1”).Offset(,1)‘偏移一列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起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39)ActiveWindow.RangeSelection.value =XX '将值XX输入到所选单元格区域中(40)ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数(41)Selection.Count '当前选中区域的单元格数(42)GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””)‘返回单元格中超级链接的地址并赋值(43)TextColor=Range(“A1”).Font.ColorIndex‘检查单元格A1的文本颜色并返回颜色索引Ran ge(“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)或Ra nge(“A1”).Offset(4,5)‘指定单元格F5(48)Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3)‘创建B3:D13区域(49)Range(“Data”).Resize(,2)‘将Data区域扩充2列(50)Union(Range(“Data1”),Range(“Data2”))‘将Data1和Data2区域连接(51)Intersect(Ran ge(“Data1”),Range(“Data2”))‘返回Data1和Data2区域的交叉区域(52)Range(“Data”).Count‘单元格区域Data中的单元格数Range(“Data”).Columns.Count‘单元格区域Data中的列数Range(“Data”).Rows.Count‘单元格区域Data中的行数(53)Selection.Columns.Count ‘当前选中的单元格区域中的列数Selection.Rows.Count ‘当前选中的单元格区域中的行数(54)Selection.Areas.Count ‘选中的单元格区域所包含的区域数(55)edRange.Row ‘获取单元格区域中使用的第一行的行号(56)Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号(57)ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域(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‘删除名称(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。