/ / Excel VBA Application Object

Excel VBA Application Object

WorksheetFunction | ScreenUpdating | DisplayAlerts | Laskeminen

Kaikkien kohteiden äiti on Excel itse. Me kutsumme sitä Sovellusobjekti. Sovellusobjekti antaa pääsyn useisiin Exceliin liittyviin vaihtoehtoihin.

WorksheetFunction

Voit käyttää WorksheetFunction-ominaisuutta kohdassa Excel VBA käyttää Excel-toimintoja.

1. Aseta esimerkiksi komentopainike laskentataulukkoon ja lisää seuraava koodirivi:

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

Kun napsautat laskentataulukon komentopainiketta, Excel VBA laskee solujen A1 ja solun A2 arvojen keskiarvon ja sijoittaa tuloksen soluun A3.

WorksheetFunction Excel VBA

Huomaa: Application.WorksheetFunctionin sijasta.Keskimääräinen, käytä vain WorksheetFunction.Average. Jos tarkastelet kaavapalkkia, näet, että kaavaa ei ole asetettu soluun A3. Jos haluat lisätä kaavan itse soluun A3, käytä seuraavaa koodiriviä:

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

ScreenUpdating

Joskus voi olla hyödyllistä poistaa näytön päivittäminen (välttää välkkymistä) koodin suorittamisen aikana. Tämän seurauksena koodisi toimii nopeammin.

1. Aseta esimerkiksi komentopainike laskentatauluun ja lisää seuraavat koodirivit:

Dim i As Integer

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

Kun napsautat laskentataulukon komentopainiketta, Excel VBA näyttää jokaisen arvon pienen murto-osan sekunnissa, ja tämä voi kestää jonkin aikaa.

ScreenUpdating

2. Voit nopeuttaa prosessia päivittämällä koodin seuraavasti.

Dim i As Integer

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

Tämän seurauksena koodisi ajaa paljon nopeammin ja näet vain lopputuloksen (10000).

DisplayAlerts

Voit antaa Excel VBA: lle, että se ei näytä hälytyksiä koodin suorittamisen aikana.

1. Aseta esimerkiksi komentopainike laskentataulukkoon ja lisää seuraava koodirivi:

ActiveWorkbook.Close

Kun napsautat laskentataulun komentopainiketta, Excel VBA sulkee Excel-tiedoston ja pyytää sinua tallentamaan tekemäsi muutokset.

DisplayAlerts

2. Jos haluat opastaa Excel VBA: ta, ettei tätä hälytys näytetä koodin suorittamisen aikana, päivitä koodi seuraavalla tavalla.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Tämän seurauksena Excel VBA sulkee Excel-tiedoston pyytämättä sinua tallentamaan tekemäsi muutokset. Muutokset menetetään.

Laskeminen

Oletusarvon mukaan laskutoimitus on automaattinen. Tämän seurauksena Excel laskee työkirjan uudelleen automaattisesti aina, kun kaavan muuttuvaa arvoa muutetaan. Jos työkirjassa on monta monimutkaista kaavaa, voit nopeuttaa makroasi laskemalla manuaalisesti.

1. Aseta esimerkiksi komentopainike laskentataulukkoon ja lisää seuraava koodirivi:

Application.Calculation = xlCalculationManual

Kun napsautat laskentataulukon komentopainiketta, Excel VBA asettaa laskennan käsin.

2. Voit tarkistaa tämän napsauttamalla Tiedosto, Asetukset, Kaavat.

Laskentavaihtoehdot

3. Kun muutat solun A1 arvoa, solun B1 arvoa ei lasketa uudelleen.

Manuaalinen laskenta

Voit manuaalisesti laskea työkirjan uudelleen painamalla F9-näppäintä.

4. Useimmissa tilanteissa asetat laskutoimitukset automaattisesti uudelleen koodin lopussa. Voit lisätä tämän koodin seuraavasti.

Application.Calculation = xlCalculationAutomatic
Lue myös: