【发布时间】:2020-01-08 11:14:39
【问题描述】:
我在使用工作表数组(动态创建)的总和合并数据的代码的最后阶段遇到了困难。
代码返回错误1004:Range类的Consolidate方法失败
可能,我将数组条目设置为不受支持的值(例如,R1C1 引用样式是否必要)?请帮忙。
附注我可能只能用一个周期来填充数组,我稍后会尝试解决这个问题。
感谢之前为类似请求做出贡献的人:
Create Excel Consolidated Worksheet with multiple sources in VBA
adding values to variable array VBA
代码如下:
Sub Consolidate_ALL_Click_2()
Dim ws As Worksheet
Dim wArr, siArr As Variant
ReDim siArr(0 To 0)
'--- Run through all sheets in workbook
For Each ws In Worksheets
For Each wArr In Array("A", "B", "C", "D")
'--- Check if worksheet name is in matching the list
If ws.Name = wArr Then
ReDim Preserve siArr(UBound(siArr) + 1)
'--- Write address to array
siArr(UBound(siArr)) = ws.Range("A10:C300").Address(ReferenceStyle:=XlReferenceStyle.xlA1, external:=True)
End If
Next wArr
Next ws
'--- Consolidate, using pre-defined array of Ranges
Worksheets("SUMMARY").Range("A10").Consolidate Sources:=Array(siArr), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
End Sub
【问题讨论】:
标签: arrays excel vba consolidation