Excel Application Object VBA
WorksheetFunction | ScreenUpdating | DisplayAlerts | 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.
WorksheetFunction
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:
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA oblicza średnią wartości z komórki A1 i komórki A2 i umieszcza wynik w komórce A3.

Uwaga: zamiast Application.WorksheetFunction.Średnia, po prostu użyj WorksheetFunction.Average. Jeśli spojrzysz na pasek formuły, zobaczysz, że sama formuła nie jest wstawiona do komórki A3. Aby wstawić samą formułę do komórki A3, użyj następującej linii kodu:
ScreenUpdating
Czasami może okazać się 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 linie kodu:
For i = 1 To 10000
Range("A1").Value = i
Next i
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym program Excel VBA wyświetla każdą wartość w ułamku sekundy, co może trochę potrwać.

2. Aby przyspieszyć proces, zaktualizuj kod w następujący sposób.
Application.ScreenUpdating = False
For i = 1 To 10000
Range("A1").Value = i
Next i
Application.ScreenUpdating = True
W rezultacie twój kod będzie działał znacznie szybciej, a zobaczysz tylko wynik końcowy (10000).
DisplayAlerts
Możesz nakazać programowi 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:
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym program Excel VBA zamyka plik programu Excel i prosi o zapisanie wprowadzonych zmian.

2. Aby polecenie Excel VBA nie wyświetlać tego alertu podczas wykonywania kodu, zaktualizuj kod w następujący sposób.
ActiveWorkbook.Close
Application.DisplayAlerts = True
W rezultacie program Excel VBA zamyka plik programu Excel bez pytania o zapisanie wprowadzonych zmian. Wszelkie zmiany zostaną utracone.
Obliczenie
Domyślnie obliczenie jest ustawione na automatyczne. W rezultacie program Excel ponownie oblicza skoroszyt automatycznie za każdym razem, gdy zmienia się wartość wpływająca na formułę. Jeśli Twój 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:
Po kliknięciu przycisku polecenia w arkuszu kalkulacyjnym Excel VBA ustawia obliczenia na ręczne.
2. Możesz to sprawdzić, klikając Plik, Opcje, Formuły.

3. Teraz, gdy zmienisz wartość komórki A1, wartość komórki B1 nie zostanie ponownie obliczona.

Możesz ponownie obliczyć skoroszyt, naciskając klawisz F9.
4. W większości sytuacji ustawisz automatyczne przeliczanie na końcu kodu. Po prostu dodaj następującą linię kodu, aby to osiągnąć.