《VBA高级应用30例》(10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。

本套教程共三册三十个专题,今日内容是如何创建加载项(1)

加载项商店国内仓库地址_加载项商店国内仓库地址

应用1在EXCEL中构建加载项

2创建母工作簿

Excel外接程序只不过是保存为外接程序的工作簿。我们可以直接编辑外接程序,并将其与任何其他工作簿一样保存,其实我更喜欢在通常的Excel工作簿中进行所有开发,然后在完成后将开发工作簿另存为外接程序(xlma文件)。

因此,打开一个工作簿,下面的截图我同时打开了VBA编辑器,只显示了对象浏览器:

加载项商店国内仓库地址_加载_02

3 建立工作模块

此工具的基础是插入和更新名为ToC的表工作表。因为我选择在每个工作表条目旁边有一个注释行,所以我们需要临时存储这些注释,并(在刷新ToC后)将它们添加回它们所属的位置:以及它们关联的工作表名称。

首先,如下截图,我们插入一个模块:

加载项商店国内仓库地址_VBA_03

并在“属性”窗口中更改模块名称:(如果你的VBE界面没有属性窗口,可以按下F4键即可)

加载项商店国内仓库地址_加载项商店国内仓库地址_04

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

(待续)

加载项商店国内仓库地址_加载项商店国内仓库地址_05

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



加载项商店国内仓库地址_VBA_06

加载项商店国内仓库地址_加载项商店国内仓库地址_07