HOME> 本届世界杯> VBA学习(3):如何运行VBA代码

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

如何运行VBA代码?其实很简单,举个例子。 比如下面这段代码,作用是合并多个工作表数据成总表。 Sub CollectData() Dim Sht As Worksheet, rng As Range, k&...

如何运行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,单击选中新建的模块,在右侧代码窗口粘贴代码,然后关闭该窗口

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

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

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

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

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

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

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

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


下載中心 - 博星教育 收徒返还:师父您给的太多了第04集在线观看