《VBA高级应用30例》(10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。
本套教程共三册三十个专题,今日内容是如何创建加载项(1)
【分享成果,随喜正能量】单单修福而不修慧,将来会得到什么结果呢?“修福不修慧,象身挂璎珞”,就像大象,长得又高又大又有力量,脖子上还挂着一串珠宝,可是虚有其表,没有智慧。。
应用1在EXCEL中构建加载项
2创建母工作簿
Excel外接程序只不过是保存为外接程序的工作簿。我们可以直接编辑外接程序,并将其与任何其他工作簿一样保存,其实我更喜欢在通常的Excel工作簿中进行所有开发,然后在完成后将开发工作簿另存为外接程序(xlma文件)。
因此,打开一个工作簿,下面的截图我同时打开了VBA编辑器,只显示了对象浏览器:
3 建立工作模块
此工具的基础是插入和更新名为ToC的表工作表。因为我选择在每个工作表条目旁边有一个注释行,所以我们需要临时存储这些注释,并(在刷新ToC后)将它们添加回它们所属的位置:以及它们关联的工作表名称。
首先,如下截图,我们插入一个模块:
并在“属性”窗口中更改模块名称:(如果你的VBE界面没有属性窗口,可以按下F4键即可)
4 写入功能的代码
双击这个模块,写入下面的代码:
Sub UpdateTOC()
Dim oSh As Object
Dim oToc As Worksheet
Dim vRemarks As Variant
Dim lCt As Long
Dim lRow As Long
Dim lCalc As Long
Dim bUpdate As Boolean
'分别提取工作表即时状态中的屏幕更新及是否为自动计算的状态并重新设置
bUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
lCalc = Application.Calculation
Application.Calculation = xlCalculationManual
'检查工作表ToC是否存在,如果不存在,请插入一个
If Not IsIn(Worksheets, "ToC") Then
With Worksheets.Add(Worksheets(1))
.Name = "ToC"
End With
Set oToc = Worksheets("ToC")
'设置工作表网格线、行标题和列标题的显示效果
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Else
(待续)
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: