У меня возникли проблемы при запуске следующих кодов. В основном идея состоит в сортировке списка и копировании уникальных записей на другой лист. Но из-за большого количества записей (160000 строк). Мой код всегда висел и не мог остановить вычисление.Как оптимизировать производительность кода VBA?
Columns("A:A").Insert Shift:=xlToRight
Range("A1").Value = "Reference2"
Range("A2").Formula = "=B2&F2&N2"
Range("A2").AutoFill Destination:=Range("A2:A160000")
Range("N1").Value = "Day"
Range("N2").Formula = "=DAY(G2)"
Range("N2").AutoFill Destination:=Range("N2:N160000")
Columns("A:N").Select
Selection.Sort Key1:=Range("N2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("A:N").Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("A:N").Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Fairbanks Data").Range("A1:N" & Range("B1").End(xlDown).Row).Select
Selection.Copy
Sheets("Fairbanks Data(Edited)").Cells(Rows.Count, "A").End(xlUp).PasteSpecial xlPasteValues
'my code always stopped at here and did the calculation
Sheets("Fairbanks Data").Delete
Sheets("Fairbanks Data(Edited)").Range("A1:A160000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Step1Raw").Range("A2"), Unique:=True
Является ли это каким-либо образом, я могу улучшить скорость? Спасибо за ваше время!