- makrooptymalizacja dot. zagadnień szerszych, dużych, właściwego doboru narzędzi, techniki, rozwiązania czy algorytmu,
- mikrooptymalizacja dot. szeregu drobnych detali w kodzie, które w całościowym ujęciu mają istotny wpływ na szybkość wykonywania procedury.
Na początek kilka zagadnień dot. makrooptymalizacji:
1. W aspekcie pracy z pętlami, tablicami i kolekcjami:
- unikać zagnieżdżonych pętli, stosować techniki wyjścia z pętli (Exit For, Exit Do)
- w procesach porównywania posortować porównywane kolekcje/tablice
- w pracy z kolekcjami stosować pętle For Each...Next
- w pracy z tablicami stosować pętle For i...Next
- w pracy z tablicami dynamicznymi stosować płynną redefinicję wymiaru
- unikać aktywowania (.Activate) i zaznaczanie (.Select)
- wyłączać odświeżanie ekranu (Application.ScreenUpdating = False)
- wyłączać (gdy tylko jest to bezpieczne) standardowe okna potwierdzeń (Application.DisplayAllerts = False)
- wyłączać przeliczanie formuł, szczególnie gdy kod VBA ingeruje w strukturę wartości i formuł w skoroszycie (Application.Calculation = xlManual)
- unikać przesadnego stosowania zmiennych publicznych
- gdy możliwe i dopuszczalne zerować wartości zmiennych publicznych instrukcją End
- nie tworzyć własnych funkcji jeżeli podobna funkcja istniej w zbiorze funkcji VBA lub WorksheetFunction
Brak komentarzy:
Prześlij komentarz