копирование в плоский файл с использованием VBA в Excel - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь скопировать около 2000 строк данных из одного файла Excel в плоский файл на основе Excel. Память исчерпывается, если я пытаюсь скопировать весь набор за один раз, поэтому я попытался скопировать / вставить по одной строке за раз. Это занимает значительное количество времени сейчас. Есть обходные пути?

Я использую Excel 2016 и 32-битную систему. Я не могу переместить это в 64-разрядную версию, поскольку другие пользователи могут не иметь доступа к 64-разрядной системе.

вот код, используемый

        'run loop from first row to last filled row, check if flag is yes, then copy entire row
        For RowCount = 1 To RowMax
        Indicator = ThisWorkbook.Sheets("Product Summary View").Cells(RowCount, 10).Value

            If Indicator = "Yes" Then

                ThisWorkbook.Sheets("Product Summary View").Cells(RowCount, 10).EntireRow.Copy
                DestWB.Sheets("Sheet1").Cells(RowCountP, 1).PasteSpecial Paste:=xlPasteValues
                RowCountP = RowCountP + 1

            ElseIf Indicator = "SupplyRisk Indicator" Then

                ThisWorkbook.Sheets("Product Summary View").Cells(RowCount, 10).EntireRow.Copy
                DestWB.Sheets("Sheet1").Cells(RowCountP, 1).PasteSpecial Paste:=xlPasteValues
                RowCountP = RowCountP + 1

            End If
...