Я кодировал макрос Excel, который импортирует данные из CSV-файла, а затем копирует строки на основе проверенного значения и помещает проанализированные данные в отдельные листы.Я проверяю 12 значений и первые 9 работают, но как только он достигает 10, 11 и 12, макрос копирует только 1 строку.Это проблема с моим кодом или это ограничение Excel?Если это мой код, что я должен настроить?
Верхний модуль:
Sub Import_Parse_Refresh()
'Import Data CSV
Call GetCSVList
'Parse Data Based on Report ID
Call Data_Parse_All
'Refresh Each Pivot Table
Call TableRefresh
'Delete Imported_Data that was created during the import
Sheets("Imported_Data").Delete
Sheets("Begin").Delete
'Save File As
Call SaveFile
End Sub
Модуль Data_Parse_All:
Sub Data_Parse_All()
Call Data_Parse_1
Call Data_Parse_2
Call Data_Parse_3
Call Data_Parse_4
Call Data_Parse_5
Call Data_Parse_6
Call Data_Parse_7
Call Data_Parse_8
Call Data_Parse_9
Call Data_Parse_10
Call Data_Parse_11
Call Data_Parse_12
End Sub
Data_Parse_9 - этот код используется для всех 12Data_Parse_ # модули, но только с 1 по 9 работают правильно:
Sub Data_Parse_9()
'
Sheets("Imported_Data").Select
RowCount = Cells(Cells.Rows.Count, "I").End(xlUp).Row
For i = 1 To RowCount
Range("I" & i).Select
check_value = ActiveCell
If check_value = "9" Then
ActiveCell.EntireRow.Cut
Sheets("Report 9").Select
RowCount = Cells(Cells.Rows.Count, "A").End(xlUp).Row
Range("A" & RowCount + 1).Select
ActiveSheet.Paste
Sheets("Imported_Data").Select
End If
Next
End Sub
Data_Parse_10 -Код такой же, но это когда копируется только одна строка
Sub Data_Parse_10()
'
' Macro1_Data Macro
'
'assuming the data is in sheet1
Sheets("Imported_Data").Select
RowCount = Cells(Cells.Rows.Count, "I").End(xlUp).Row
For i = 1 To RowCount
Range("I" & i).Select
check_value = ActiveCell
If check_value = "10" Then
ActiveCell.EntireRow.Cut
Sheets("Report 10").Select
RowCount = Cells(Cells.Rows.Count, "A").End(xlUp).Row
Range("A" & RowCount + 1).Select
ActiveSheet.Paste
Sheets("Imported_Data").Select
End If
Next
End Sub