Продолжать добавлять данные листа в сохраненный массив redim? - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь собрать данные из десятков рабочих таблиц в рабочей книге и собрать их все для добавления в новую рабочую книгу master.

Эта строка: ReDim varArray2 (1 To UBound(varArray, 2), 1 To UBound(varArray, 1)) продолжает очищать мои сохраненные данные со всех рабочих таблиц, когда я пытаюсь создать универсальный varArray2 для печати всех массивов сразу на новую главную рабочую таблицу.

Что вызывает очистку массива и как я могу это исправить?

Option Explicit
Sub ws_Merge()


Dim k As Long, x As Long, j As Long
Dim varArray() As Variant
Dim varArray2() As Variant
ReDim varArray(1 To 11, 1 To 1)
Dim ws As Worksheet, wb As Workbook
Set wb = ThisWorkbook


For Each ws In Worksheets

With wb.ActiveSheet

        For j = 2 To .UsedRange.Rows.Count + 1
            If .Cells(j, 1) <> "" Then
                x = x + 1
                ReDim Preserve varArray(1 To UBound(varArray, 1), 1 To x)
                    For k = 1 To UBound(varArray, 1)
                        varArray(k, x) = .Cells(j, k)
                    Next
            End If
        Next

    End With

    Next ws

ReDim varArray2(1 To UBound(varArray, 2), 1 To UBound(varArray, 1))

With ThisWorkbook.Sheets.Add
    For j = 1 To UBound(varArray, 2)
        For k = 1 To UBound(varArray, 1)
            varArray2(j, k) = varArray(k, j)
        Next
    Next

    .Range(.Cells(2, 1), .Cells(UBound(varArray, 2), UBound(varArray, 1))) = varArray2
End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...