每天学5分钟,Excel多点轻松
    我们有一个完整的VBA小代码系列,包含了多表汇总,总表拆分,图片导入等常见问题。总会有朋友询问VBA代码如何使用,这里就先聊一下。举个例子。

    比如下面这段代码,作用是合并多个工作表数据成总表。

    1. Sub CollectData()
    2. Dim Sht As Worksheet, rng As Range, k&, n&
    3. Application.ScreenUpdating = False
    4. '取消屏幕刷新
    5. n = Val(InputBox("请输入标题的行数", "提醒"))
    6. If n < 0 Then MsgBox "标题行数不能为负数。", 64, "提示": Exit Sub
    7. '取得用户输入的标题行数,如果为负数,退出程序
    8. Cells.ClearContents
    9. '清空当前表数据
    10. For Each Sht In Worksheets
    11. '遍历工作表
    12. If Sht.Name <> ActiveSheet.Name Then
    13. '如果工作表名称不等于当前表名则进行汇总动作……
    14. Set rng = Sht.UsedRange
    15. '定义rng为表格已用区域
    16. k = k + 1
    17. '累计K值
    18. If k = 1 Then
    19. '如果是首个表格,则K1,则把标题行一起复制到汇总表
    20. rng.Copy
    21. [a1].PasteSpecial Paste:=xlPasteValues '仅粘贴数值
    22. Else
    23. '否则,扣除标题行后再复制黏贴到总表,只黏贴数值
    24. rng.Offset(n).Copy
    25. Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues
    26. End If
    27. End If
    28. Next
    29. [a1].Activate
    30. Application.ScreenUpdating = True '恢复屏幕刷新
    31. End Sub