/ / Excel VBA-toepassingsobject

Excel VBA-toepassingsobject

WorksheetFunction | van scherm | DisplayAlerts | Berekening

De moeder van alle objecten is Excel zelf. We noemen het het Applicatie object. Het toepassingsobject geeft toegang tot een groot aantal Excel-gerelateerde opties.

WorksheetFunction

U kunt de eigenschap WorksheetFunction in gebruiken Excel VBA voor toegang tot Excel-functies.

1. Plaats bijvoorbeeld een opdrachtknop op uw werkblad en voeg de volgende coderegel toe:

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

Wanneer u op de opdrachtknop op het werkblad klikt, berekent Excel VBA het gemiddelde van de waarden in cel A1 en cel A2 en plaatst het resultaat in cel A3.

WorksheetFunction in Excel VBA

Opmerking: in plaats van Application.WorksheetFunction.Gemiddeld, gebruik gewoon WorksheetFunction.Average. Als u naar de formulebalk kijkt, ziet u dat de formule zelf niet in cel A3 is ingevoegd. Gebruik de volgende coderegel om de formule zelf in cel A3 in te voegen:

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

van scherm

Soms vindt u het misschien handig om tijdens het uitvoeren van code het updaten van het scherm uit te schakelen (om flikkeren te voorkomen). Het gevolg is dat uw code sneller werkt.

1. Plaats bijvoorbeeld een opdrachtknop op uw werkblad en voeg de volgende coderegels toe:

Dim i As Integer

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

Wanneer u op de opdrachtknop op het werkblad klikt, geeft Excel VBA elke waarde een fractie van een seconde weer en kan dit enige tijd duren.

van scherm

2. Werk de code als volgt bij om het proces te versnellen.

Dim i As Integer

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

Het gevolg is dat uw code veel sneller wordt uitgevoerd en dat u alleen het eindresultaat ziet (10000).

DisplayAlerts

U kunt Excel VBA opdracht geven geen meldingen weer te geven tijdens het uitvoeren van code.

1. Plaats bijvoorbeeld een opdrachtknop op uw werkblad en voeg de volgende coderegel toe:

ActiveWorkbook.Close

Wanneer u op de opdrachtknop op het werkblad klikt, sluit Excel VBA uw Excel-bestand af en vraagt ​​u de door u gemaakte wijzigingen op te slaan.

DisplayAlerts

2. Als u Excel VBA opdracht geeft om deze waarschuwing niet weer te geven tijdens het uitvoeren van code, werkt u de code als volgt bij.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Als gevolg hiervan sluit Excel VBA uw Excel-bestand af zonder u te vragen de door u gemaakte wijzigingen op te slaan. Alle wijzigingen gaan verloren.

Berekening

Standaard is de berekening ingesteld op automatisch. Het resultaat is dat Excel de werkmap automatisch opnieuw berekent telkens wanneer een waarde die van invloed is op een formule verandert. Als uw werkmap veel complexe formules bevat, kunt u uw macro versnellen door de berekening in te stellen op handmatig.

1. Plaats bijvoorbeeld een opdrachtknop op uw werkblad en voeg de volgende coderegel toe:

Application.Calculation = xlCalculationManual

Wanneer u op de opdrachtknop op het werkblad klikt, stelt Excel VBA de berekening in op handmatig.

2. U kunt dit controleren door op Bestand, Opties, Formules te klikken.

Berekening opties

3. Wanneer u nu de waarde van cel A1 verandert, wordt de waarde van cel B1 niet opnieuw berekend.

Handmatige berekening

U kunt de werkmap handmatig opnieuw berekenen door op F9 te drukken.

4. In de meeste situaties stelt u de berekening opnieuw in op automatisch aan het einde van uw code. Voeg eenvoudig de volgende coderegel toe om dit te bereiken.

Application.Calculation = xlCalculationAutomatic
Lees ook: