/ / Excel VBA aplikacijski objekt

Excel VBA Application Object

WorksheetFunction | ScreenUpdating | DisplayAlerts | računanje

Majka svih objekata je Excel sama. Mi to nazivamo Aplikacijski objekt, Aplikacijski objekt daje pristup mnogim opcijama koje se odnose na Excel.

WorksheetFunction

Možete koristiti svojstvo WorksheetFunction u Excel VBA za pristup funkcijama programa Excel.

1. Na primjer, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Kada kliknete gumb naredbe na radnom listu, Excel VBA izračunava prosjek vrijednosti u ćeliji A1 i ćeliji A2 i stavlja rezultat u ćeliju A3.

Radni list u Excel VBA

Napomena: Umjesto Application.WorksheetFunction.Prosječno, jednostavno upotrijebite WorksheetFunction.Average. Ako pogledate traku s formulom, možete vidjeti da sama formula nije umetnuta u ćeliju A3. Da biste umetnuli formulu u ćeliju A3, upotrijebite sljedeću liniju koda:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

Ponekad vam je korisno onemogućiti ažuriranje zaslona (kako biste izbjegli treperenje) tijekom izvršavanja koda. Kao rezultat toga kôd će raditi brže.

1. Na primjer, stavite gumb naredbe na radni list i dodajte sljedeće retke koda:

Dim i As Integer

For i = 1 To 10000
    Range("A1").Value = i
Next i

Kada kliknete gumb naredbe na radnom listu, Excel VBA prikazuje svaku vrijednost manji dio sekunde, a to može potrajati neko vrijeme.

ScreenUpdating

2. Da biste ubrzali postupak, ažurirajte kôd na sljedeći način.

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
    Range("A1").Value = i
Next i

Application.ScreenUpdating = True

Kao rezultat toga, kôd će raditi puno brže i vidjet ćete samo krajnji rezultat (10000).

DisplayAlerts

Možete uputiti Excel VBA da ne prikazuje upozorenja tijekom izvršavanja koda.

1. Na primjer, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

ActiveWorkbook.Close

Kada kliknete gumb naredbe na radnom listu, Excel VBA zatvara vašu Excel datoteku i zatraži da spremite promjene koje ste napravili.

DisplayAlerts

2. Da biste uputili Excel VBA da ne prikaže ovo upozorenje tijekom izvršavanja koda, ažurirajte kôd na sljedeći način.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Kao rezultat toga, Excel VBA zatvara vašu Excel datoteku bez da vas zatraži spremanje promjena koje ste napravili. Sve promjene su izgubljene.

računanje

Prema zadanim postavkama izračun je postavljen na automatski. Kao rezultat toga, Excel ponovno izračunava radnu knjigu svaki put kada promijeni vrijednost koja utječe na formulu. Ako vaša radna knjiga sadrži mnoge složene formule, možete ubrzati makro postavljanjem izračuna na ručno.

1. Na primjer, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

Application.Calculation = xlCalculationManual

Kada kliknete gumb naredbe na radnom listu, Excel VBA postavlja izračun na ručno.

2. To možete potvrditi klikom na File (Datoteka), Options (Opcije), Formula (Formule).

Opcije obračuna

3. Sada kad promijenite vrijednost ćelije A1, vrijednost ćelije B1 nije rekalkulirana.

Ručno izračunavanje

Ručno izračunajte radnu knjigu pritiskom na F9.

4. U većini slučajeva ponovno ćete postaviti izračun na automatski na kraju koda. Jednostavno dodajte sljedeću liniju koda da biste to postigli.

Application.Calculation = xlCalculationAutomatic
Također pročitajte: