搜索
查看: 2479|回复: 0

数组多表合并VBA

[复制链接]

977

主题

1093

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15934
发表于 2018-12-31 16:23:39 | 显示全部楼层 |阅读模式
Sub 数组多表合并()
Dim arr()
For Each sh In Sheets
    If sh.Name <> "汇总" Then   '目的:只有"汇总"工作表的数据不合并
    c = sh.Name & "!" & sh.Range("a2:b" & sh.UsedRange.Rows.Count).Address '帮助代码
        arr1 = sh.Range("a2:b" & sh.UsedRange.Rows.Count)    ' 将各表的数据循环写入arr1数组中
        act = act + UBound(arr1)    '累加各表数据的行数,作为重新声明arr1数组的上界
    ReDim Preserve arr(1 To 2, 1 To act)    '重新声明数组arr
        For j = 1 To UBound(arr1)   '准备将各表的数据循环写入重新声明的arr数组中
            n = n + 1 '每条件即将要写入arr数组的记录数累加
            arr(1, n) = arr1(j, 1) 'arr1对应写入arr中,此写入的方法需要在单元格中演示一下
            arr(2, n) = arr1(j, 2) 'arr1对应写入arr中
        Next
    End If
Next
Sheets("汇总").[a2].Resize(n, 2) = Application.Transpose(arr) '将arr中的数据批量写入单元格
End Sub

5-11.动态数组(多表合并).xlsm

23.52 KB, 下载次数: 1059

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表