VBA学习(3):如何运行VBA代码

如何运行VBA代码?其实很简单,举个例子。
比如下面这段代码,作用是合并多个工作表数据成总表。

Sub CollectData()
    Dim Sht As Worksheet, rng As Range, k&, n&
    Application.ScreenUpdating = False '取消屏幕刷新
    n = Val(InputBox("请输入标题的行数", "提醒"))
    If n < 0 Then MsgBox "标题行数不能为负数。", 64, "提示": Exit Sub
    '取得用户输入的标题行数,如果为负数,退出程序
    Cells.ClearContents '清空当前表数据
    For Each Sht In Worksheets '遍历工作表
        If Sht.Name <> ActiveSheet.Name Then
        '如果工作表名称不等于当前表名则进行汇总动作……
            Set rng = Sht.UsedRange '定义rng为表格已用区域
            k = k + 1 '累计表的个数
            If k = 1 Then '如果是首个表格,则把标题行一起复制到汇总表
                rng.Copy
                Cells(1, 1).PasteSpecial Paste:=xlPasteValues
            Else '否则,扣除标题行后再复制黏贴到总表
                rng.Offset(n).Copy
                Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1) _
                    .PasteSpecial Paste:=xlPasteValues
            End If
        End If
    Next
    Cells(1, 1).Activate
    Application.ScreenUpdating = True '恢复屏幕刷新
    MsgBox "一共汇总了" & k & "张工作表。"
End Sub

操作步骤如下:

▎1,<Ctrl+C>完整复制代码。
▎2,打开目标Excel工作簿,右键单击任意工作表名称,执行右键菜单的【查看代码】命令,或者按<ALT+F11>组合键,打开VBE窗口。

图片

▎3,在VBE窗口界面,右键单击左侧任意工作表名称,例如下图所示的Sheet1,在弹出的选项菜单中,依次单击【插入】→【模块】

图片

▎4,单击选中新建的模块,在右侧代码窗口粘贴代码,然后关闭该窗口

图片

到这一步,我们就将代码粘贴到VBE编辑器了,下一步就是运行它。

运行代码有多种方式,如果你只需要运行一次,鼠标点击代码任何一处,然后按功能键<F5>即可。

如果你需要在当前工作簿多次运行相关代码,则最好是制作一个命令按钮,操作过程参考以下步骤

▎5,在工作表的【插入】选项卡下,依次单击【形状】→【矩形】在当前工作表绘制一个大小任意你满意就好的矩形。

图片

▎6,右键单击该矩形,在弹出的菜单中选择【指定宏】命令。打开【指定宏】对话框,选择目标宏名,例如本例的CollectData,最后单击【确定】按钮。

图片

▎7,OK,单击该矩形形状,就可以运行小代码了。

需要注意的是,系统默认的xlsx工作簿格式,会自动抹除VBA代码——换句话说,如果你需要多次运行VBA,务必将文件另存为宏文件xlsm格式。

技术交流,软件开发,欢迎微信沟通:

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值