我对VBA的描述:VBA是一种个人小型自动化操作的强大工具。利用得好,可以显著提升工作效率,并提高数据处理的精确度。我编写的VBA系列教程共计九套加一本VBA中英文手册,现已全部完成,希望大家能够有效利用、学习。
如果您只是普通的职场VBA需求者,可以选择7.1.3.9四套教程加上汉英手册组合购买,第7套是入门级,第1套是进阶内容,第3套字典是必不可少的VBA精髓部分,第9套则是实用案例解析。掌握这四套教程后足以应对日常工作中的大部分问题,在实际编写代码时配合使用中英文手册,完全可以满足需求!若您希望进一步提升技能,则需选择高级阶段的教程。
VBA是一种面向对象编程的语言,深奥且全面。许多朋友询问VBA的学习方法,我将会陆续分享一些个人经验,大家可逐步领会。今天的内容是如何学习VBA_3.3.11 VBA编程经典460句第61至110条。

【分享成果,传递正能量】336你相信与否,上天有时不让你完成某些事情,这是在保护你,不要抱怨,不要生气,世间万物皆有定数。过去的事情已成为幻影,再多的后悔也无法改变过去的遗憾;未来充满未知,过度担忧只会徒增烦恼。真正的修行在于此时此刻。
3.3.11 VBA编程经典460句
- 61 Range(“Data”). Columns.Count 单元格区域Data中的列数
- 62 Range(“Data”). Rows.Count 单元格区域Data中的行数
- 63 Selection.Columns.Count 当前选中单元格区域的列数
- 64 Selection.Rows.Count 当前选中单元格区域的行数
- 65 Selection.Areas.Count 选中单元格区域包含的区域数量
- 66 ActiveSheet.UsedRange.Row 获取使用范围的第一行列号
- 67 Rng.Column 获取Rng区域左上角单元格所在的列编号
- 68 Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False 关闭自动筛选产生的第3个字段的下拉列表名称
- 69 Range(“A1:C3”).Name=“my” 将A1:C3区域命名为my
- 70 Names(“computer”).Name=“robot” 重命名计算机区域为robot
- 71 Names(“book”).Delete 删除名称
- 72 Application.WorksheetFunction.IsNumber(“A1”) 使用工作表函数检测A1单元格的数据是否为数字
- 73 Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate 激活A列中最大值的单元格
- 74 Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” 在指定单元格输入数组公式。注意必须使用R1C1样式的表达式
- 75 ActiveSheet.ChartObjects.Count 获取当前工作表中的图表数量
- 76 ActiveSheet.ChartObjects(“Chart1”).Select 选中当前工作表中的图表Chart1
- 77 ActiveSheet.ChartObjects(“Chart1”).Activate
ActiveChart.ChartArea.Select 选中当前的图表区域
- 78 WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart.ChartArea.Interior.ColorIndex=2 更改工作表中图表区的颜色
- 79 Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 更改图表工作表中的图表区域颜色
- 80 Charts.Add 添加新的图表工作表
- 81 Ans=MsgBox(“Continue?”,vbYesNo) 在消息框中点击“是”按钮,Ans值为vbYes;点击“否”按钮,Ans值为vbNo。
- 82 If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub 若返回值不是“是”,则退出
- 83 Config=vbYesNo+vbQuestion+vbDefaultButton2 使用常量组合为Config变量赋值,并设置第二个按钮为默认按钮
- 84 MsgBox “This is the first line.” & vbNewLine & “Second line.” 在消息框中强制换行,也可使用vbCrLf代替vbNewLine。
85 MsgBox "theaverage is :"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00") vbInformation,"selectioncount average" & Chr(13) 利用工作表函数获取所选区域的平均值并按指定格式显示
86 Userform1.Show 展示用户窗体
87 Load Userform1 加载一个用户窗体,不过该窗体保持隐藏状态
88 Userform1.Hide 隐藏用户窗体
89 Unload Userform1 或 Unload Me 卸除用户窗体
90 (图像控件).Picture=LoadPicture(“图像路径”) 在用户窗体上显示图形
91 UserForm1.Show 0 或 UserForm1.Show vbModeless 将窗体设为无模式状态
92 Me.Height=Int(0.88*ActiveWindow.Height) 窗体高度设置为当前活动窗口高度的0.88倍
93 Me.Width=Int(0.88*ActiveWindow.Width) 窗体宽度设为当前活动窗口高度的0.88倍
94 Application.EnableEvents=False 关闭所有事件
95 Application.EnableEvents=True 开启所有事件
96 Set ExcelSheet = CreateObject("Excel.Sheet") 创建一个Excel工作表对象
97 ExcelSheet.Application.Visible = True 配置 Application 对象使 Excel 显示出来
98 ExcelSheet.Application.Cells(1, 1).Value = "Data" 在表格的第一个单元格中输入数据
99 ExcelSheet.SaveAs "C:\TEST.XLS" 将该工作表保存至 C:\test.xls 目录下
100 ExcelSheet.Application.Quit 关闭 Excel 应用程序
101 Set ExcelSheet = Nothing 释放对象变量
102 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) 声明并创建一个Excel对象引用
103 Call MySub (CreateObject("Excel.Application")) 创建并传递一个 Excel.Application 对象的实例
104 Set d = CreateObject(Scripting.Dictionary) 创建一个 Dictionary 对象变量
105 d.Add "a", "Athens" '为对象变量添加键值对
106 Application.OnKey “^I”,”macro” 设置Ctrl+I键作为macro过程的快捷方式
107 Application.CutCopyMode=False 退出剪切/复制模式
108 Application.Volatile True 每当工作表中任何单元格重新计算时,都会强制重新计算该函数
109 Application.Volatile False 只有在该函数的一个或多个参数发生变化时,才会重新计算该函数
110 Err.Clear 清除运行过程中遇到的所有错误

我超过20年的VBA实践经验,全部浓缩在下面的各个教程中:

