/ / Excel VBA-applikasjonsobjekt

Excel VBA-applikasjonsobjekt

WorksheetFunction | ScreenUpdating | DisplayAlerts | beregning

Moderen til alle objekter er Excel selv. Vi kaller det Programobjekt. Programobjektet gir tilgang til mange Excel-relaterte alternativer.

WorksheetFunction

Du kan bruke egenskapen WorksheetFunction i Excel VBA for å få tilgang til Excel-funksjoner.

1. Legg for eksempel en kommandoknapp på regnearket og legg til følgende kodelinje:

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

Når du klikker på kommandoknappen på regnearket, beregner Excel VBA gjennomsnittet av verdiene i celle A1 og celle A2 og plasserer resultatet i celle A3.

WorksheetFunction i Excel VBA

Merk: i stedet for Application.WorksheetFunction.Gjennomsnittlig, bruk bare WorksheetFunction.Average. Hvis du ser på formellelinjen, kan du se at formelen selv ikke er satt inn i celle A3. For å sette inn formelen selv i celle A3, bruk følgende kodelinje:

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

ScreenUpdating

Noen ganger kan det hende du finner det nyttig å deaktivere skjermoppdatering (for å unngå flimring) mens du kjører kode. Som et resultat vil koden din kjøre raskere.

1. Legg for eksempel en kommandoknapp på regnearket og legg til 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 verdi en liten brøkdel av et sekund, og dette kan ta litt tid.

ScreenUpdating

2. For å øke hastigheten på prosessen, oppdater 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 et resultat vil koden din kjøre mye raskere, og du vil bare se sluttresultatet (10000).

DisplayAlerts

Du kan instruere Excel VBA for ikke å vise varsler mens du kjører kode.

1. Legg for eksempel en kommandoknapp på regnearket og legg til følgende kodelinje:

ActiveWorkbook.Close

Når du klikker på kommandoknappen på regnearket, lukker Excel VBA din Excel-fil og ber deg om å lagre endringene du har laget.

DisplayAlerts

2. For å instruere Excel VBA for ikke å vise dette varselet mens du kjører kode, oppdater koden som følger.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Som et resultat, lukker Excel VBA din Excel-fil uten å be deg om å lagre endringene du har laget. Eventuelle endringer går tapt.

beregning

Som standard er beregningen satt til automatisk. Som et resultat beregner Excel automatisk arbeidsboken hver gang en verdi som påvirker en formelendring, endres. Hvis arbeidsboken din inneholder mange komplekse formler, kan du øke makroen din ved å sette beregningen til manuell.

1. Legg for eksempel en kommandoknapp på regnearket og legg til følgende kodelinje:

Application.Calculation = xlCalculationManual

Når du klikker på kommandoknappen på regnearket, angir Excel VBA beregning til manuell.

2. Du kan bekrefte dette ved å klikke på Fil, Valg, Formler.

Beregningsalternativer

3. Nå når du endrer verdien av celle A1, blir ikke verdien av celle B1 omberegnet.

Manuell beregning

Du kan manuelt omberegne arbeidsboken ved å trykke på F9.

4. I de fleste situasjoner vil du sette beregningen til automatisk igjen på slutten av koden din. Bare legg til følgende kodelinje for å oppnå dette.

Application.Calculation = xlCalculationAutomatic
Les også: