Arkusz Funkcja | Aktualizacja ekranu | Wyświetlaj alerty | Obliczenie
Matką wszystkich obiektów jest sam Excel. Nazywamy to Obiekt aplikacji. Obiekt aplikacji daje dostęp do wielu opcji związanych z programem Excel.
Funkcja arkusza roboczego
Możesz użyć właściwości WorksheetFunction w Excel VBA aby uzyskać dostęp do funkcji programu Excel.
1. Na przykład umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:
Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA oblicza średnią wartości w komórce A1 i komórce A2 i umieszcza wynik w komórce A3.
Uwaga: zamiast Application.WorksheetFunction.Average po prostu użyj WorksheetFunction.Average. Jeśli spojrzysz na pasek formuły, zobaczysz, że sama formuła nie jest wstawiana do komórki A3. Aby wstawić samą formułę do komórki A3, użyj następującej linii kodu:
Zakres("A3").Value = "=ŚREDNIA(A1:A2)"
Aktualizacja ekranu
Czasami może się okazać przydatne wyłączenie aktualizacji ekranu (aby uniknąć migotania) podczas wykonywania kodu. W rezultacie Twój kod będzie działał szybciej.
1. Na przykład umieść przycisk polecenia w arkuszu i dodaj następujące wiersze kodu:
Dim i jako liczba całkowita
Dla i = 1 do 10000
Zakres("A1").Wartość = i
Dalej ja
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA wyświetla każdą wartość w ułamku sekundy, co może zająć trochę czasu.
2. Aby przyspieszyć proces, zaktualizuj kod w następujący sposób.
Dim i jako liczba całkowita
Application.ScreenUpdating = Fałsz
Dla i = 1 do 10000
Zakres("A1").Wartość = i
Dalej ja
Application.ScreenUpdating = Prawda
W rezultacie Twój kod będzie działał znacznie szybciej i zobaczysz tylko wynik końcowy (10000).
Wyświetlaj alerty
Możesz poinstruować Excel VBA, aby nie wyświetlał alertów podczas wykonywania kodu.
1. Na przykład umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:
ActiveWorkbook.Zamknij
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA zamyka plik Excel i prosi o zapisanie wprowadzonych zmian.
2. Aby poinstruować Excel VBA, aby nie wyświetlał tego alertu podczas wykonywania kodu, zaktualizuj kod w następujący sposób.
Application.DisplayAlerts = False
ActiveWorkbook.Zamknij
Application.DisplayAlerts = Prawda
W rezultacie Excel VBA zamyka plik Excela bez pytania o zapisanie wprowadzonych zmian. Wszelkie zmiany zostaną utracone.
Obliczenie
Domyślnie obliczenia są ustawione na automatyczne. W rezultacie program Excel automatycznie ponownie oblicza skoroszyt za każdym razem, gdy zmienia się wartość wpływająca na formułę. Jeśli skoroszyt zawiera wiele złożonych formuł, możesz przyspieszyć działanie makra, ustawiając obliczenia na ręczne.
1. Na przykład umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:
Application.Calculation = xlCalculationManual
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA ustawia obliczenia na ręczne.
2. Możesz to sprawdzić, klikając Plik, Opcje, Wzory.
3. Teraz, gdy zmienisz wartość komórki A1, wartość komórki B1 nie zostanie ponownie obliczona.
Skoroszyt można ponownie obliczyć ręcznie, naciskając klawisz F9.
4. W większości sytuacji na końcu kodu ponownie ustawisz obliczenia na automatyczne. Aby to osiągnąć, po prostu dodaj następującą linię kodu.
Aplikacja.Calculation = xlCalculationAutomatic