HI,大家好,我是星光。话说我们有一个完整的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,完整复制代码。

▎2,打开目标Excel工作簿,右键单击任意工作表名称,执行右键菜单的【查看代码】命令,或者按组合键,打开VBE窗口。

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

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

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

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

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

……

没了,祝大家周末愉快,下期再见。

Logo

更多推荐