zoukankan      html  css  js  c++  java
  • 汇总工作表(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).Copy
                    Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues
                End If
            End If
        Next
        [a1].Activate
        Application.ScreenUpdating = True '恢复屏幕刷新
    End Sub

  • 相关阅读:
    c# 类中使用ResolveUrl
    IIS7日志中时间与系统时间不一致的原因
    IIS日志-网站运维的好帮手
    精通 JS正则表达式
    word 标题序号
    rtx 二次开发,查找所有部门
    【云计算】Docker容器时间同步如何配置?
    【云计算】Docker多进程管理方案-cfengine && supervisord
    【Python】装饰器实现日志记录
    【云计算】k8s相关资料
  • 原文地址:https://www.cnblogs.com/zxksbs/p/12792601.html
Copyright © 2011-2022 走看看