Excel 2010 VBA:合并来自封闭工作簿中表的数据:复制/粘贴还是数组?

时间:2018-10-31 16:48:07

标签: arrays excel listobject consolidation

我有一个宏来合并14个不同工作簿(tblstaff和tblwage)中2个不同表的数据。目前,代码的工作方式是:

  • 开源WB
  • 从每个
  • 复制ListObject.DataBodyRange
  • 将SpecialSpecial(xlvalues)粘贴到合并的ListObject.DataBodyRange
  • 关闭源代码世界银行
  • 下一来源世界银行

我的问题:这是最有效的方法吗?我对VBA中的数组不是很熟悉,但是想知道是否可以通过创建两个2d数组(人员和工资)并将每个表读入其中,并在循环末尾粘贴最终/合并的数组来实现相同的目的。预先感谢!

编辑:假设这里的数组效率更高,我该如何创建和重新二维数组,将每个新表读入其中?可以肯定地说以下内容有误:

Set MarRange = WBMaster.Sheets("Dashboard").Range("marcirc,mar8a")
arraysize = 0
ReDim myArray(0 To 0)

For Each MarCell In MarRange

marfile = WBMaster.Sheets("Dashboard").Range("mardir").Value & MarCell.Value
Application.StatusBar = "Importing data from " & marfile
Workbooks.Open marfile, True, True
Set WBMar = ActiveWorkbook

ReDim Preserve myArray(arraysize) As Variant
myArray = WBMar.Sheets("Staffing Details").ListObjects(1).DataBodyRange.Value
arraysize = arraysize + 1

Next MarCell
End Sub

0 个答案:

没有答案