每天学5分钟,Excel多点轻松
我们有一个完整的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'累计K值If k = 1 Then'如果是首个表格,则K为1,则把标题行一起复制到汇总表rng.Copy[a1].PasteSpecial Paste:=xlPasteValues '仅粘贴数值Else'否则,扣除标题行后再复制黏贴到总表,只黏贴数值rng.Offset(n).CopyCells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValuesEnd IfEnd IfNext[a1].ActivateApplication.ScreenUpdating = True '恢复屏幕刷新End Sub
