Obiekt aplikacji Excel VBA - łatwe makra Excel

Spisie treści

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

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave