Мне нужно было бы пройти строки из masterfile (thisworkbook) в разные рабочие книги на основе id.Проблема, с которой я сейчас сталкиваюсь в своем коде, заключается в том, что копировать и вставлять все строки по одной слишком медленно, поскольку мастер-файл довольно большой, и я хотел бы добавить больше условий (и рабочих книг) в мой код впоследствии.
Мой текущий код, копирование и вставка строк одна за другой, когда выполняется условие:
Private Sub CommandButton2_Click()
a = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row
Dim newWorkbookOne As Workbook, newWorkbookTwo As Workbook
Set newWorkbookOne = Workbooks.Add
Set newWorkbookTwo = Workbooks.Add
Dim conditionOne As String, conditionTwo as String
Set conditionOne = "value1"
Set conditionTwo = "value2"
For i = 2 To a
If ThisWorkbook.Worksheets("Sheet1").Cells(i, 1).Value = conditionOne Then
ThisWorkbook.Worksheets("Sheet1").Rows(i).Copy
b = newWorkbookOne.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
newWorkbookOne.ActiveSheet.Cells(b + 1, 1).PasteSpecial xlPasteValuesAndNumberFormats
End If
If ThisWorkbook.Worksheets("Sheet1").Cells(i, 1).Value = nametwo Then
ThisWorkbook.Worksheets("Sheet1").Rows(i).Copy
h = newWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
newWorkbookTwo.ActiveSheet.Cells(h + 1, 1).PasteSpecial xlPasteValuesAndNumberFormats
End If
Next 'something
Этот код занимает довольно много времени и определенно не подходит для больших файлов.По этой причине я хотел бы вставить все строки в эти новые рабочие книги одновременно.У кого-нибудь есть решение по этому вопросу?