/ / Excel VBA applikationsobjekt

Excel VBA Application Object

WorksheetFunction | ScreenUpdating | DisplayAlerts | Beregning

Moderen til alle objekter er selve Excel. Vi kalder det til Applikationsobjekt. Applikationsobjektet giver adgang til mange Excel-relaterede muligheder.

WorksheetFunction

Du kan bruge egenskaben WorksheetFunction i Excel VBA for at få adgang til Excel-funktioner.

1. For eksempel, læg en kommandoknap på dit regneark og tilføj følgende kodelinje:

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

Når du klikker på kommandoknappen på regnearket, beregner Excel VBA gennemsnittet af værdierne i celle A1 og celle A2 og placerer resultatet i celle A3.

WorksheetFunction i Excel VBA

Bemærk: i stedet for Application.WorksheetFunction.Gennemsnitlig, brug simpelthen WorksheetFunction.Average. Hvis du ser på formellelinjen, kan du se, at formlen selv ikke er indsat i celle A3. For at indsætte formlen selv i celle A3, brug følgende kodelinje:

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

ScreenUpdating

Nogle gange kan det være nyttigt at deaktivere skærmopdatering (for at undgå flimring), mens du udfører kode. Som følge heraf kører din kode hurtigere.

1. For eksempel, læg en kommandoknap på dit regneark og tilføj følgende kodelinjer:

Dim i As Integer

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

Når du klikker på kommandoknappen på regnearket, viser Excel VBA hver værdi en lille brøkdel af et sekund, og det kan tage lidt tid.

ScreenUpdating

2. For at fremskynde processen skal du opdatere koden som følger.

Dim i As Integer

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

Som følge heraf kører din kode meget hurtigere, og du vil kun se slutresultatet (10000).

DisplayAlerts

Du kan instruere Excel VBA for ikke at vise advarsler, mens du kører kode.

1. For eksempel, læg en kommandoknap på dit regneark og tilføj følgende kodelinje:

ActiveWorkbook.Close

Når du klikker på kommandoknappen på regnearket, lukker Excel VBA din Excel-fil og beder dig om at gemme de ændringer, du har lavet.

DisplayAlerts

2. For at instruere Excel VBA for ikke at vise denne advarsel, mens du kører kode, skal du opdatere koden som følger.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Som følge heraf lukker Excel VBA din Excel-fil uden at bede dig om at gemme de ændringer, du har lavet. Eventuelle ændringer går tabt.

Beregning

Som standard er beregningen sat til automatisk. Som følge heraf genberegner Excel automatisk arbejdsbogen hver gang en værdi, der påvirker en formel, ændres. Hvis din arbejdsbog indeholder mange komplekse formler, kan du fremskynde din makro ved at indstille beregning til manuel.

1. For eksempel, læg en kommandoknap på dit regneark og tilføj følgende kodelinje:

Application.Calculation = xlCalculationManual

Når du klikker på kommandoknappen på regnearket, indstiller Excel VBA beregningen til manuel.

2. Du kan bekræfte dette ved at klikke på File, Options, Formulas.

Beregningsindstillinger

3. Nu, når du ændrer værdien af ​​celle A1, beregnes værdien af ​​celle B1 ikke igen.

Manuel beregning

Du kan manuelt omberegne arbejdsbogen ved at trykke på F9.

4. I de fleste situationer vil du indstille beregningen til automatisk igen i slutningen af ​​din kode. Du skal blot tilføje følgende kode linje for at opnå dette.

Application.Calculation = xlCalculationAutomatic
Læs også: