Excel VBA -applikationsobjekt - Enkla Excel -makron

Innehållsförteckning

ArbetsbladFunktion | Skärmuppdatering | DisplayAlerts | Beräkning

Moder till alla objekt är Excel själv. Vi kallar det Applikationsobjekt. Programobjektet ger åtkomst till många Excel -relaterade alternativ.

ArbetsbladFunktion

Du kan använda egenskapen WorksheetFunction i Excel VBA för att komma åt Excel -funktioner.

1. Lägg till exempel en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Område ("A3"). Värde = Application.WorksheetFunction.Average (intervall ("A1: A2"))

När du klickar på kommandoknappen i kalkylbladet beräknar Excel VBA genomsnittet av värdena i cell A1 och cell A2 och placerar resultatet i cell A3.

Obs: istället för Application.WorksheetFunction.Average, använd helt enkelt WorksheetFunction.Average. Om du tittar på formelfältet kan du se att själva formeln inte är införd i cell A3. För att infoga själva formeln i cell A3, använd följande kodrad:

Område ("A3"). Värde = "= MEDEL (A1: A2)"

Skärmuppdatering

Ibland kan du tycka att det är bra att inaktivera skärmuppdatering (för att undvika flimmer) medan du kör kod. Som ett resultat kommer din kod att köras snabbare.

1. Placera till exempel en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:

Dim i As Integer
För i = 1 Till 10000
Område ("A1"). Värde = i
Nästa i

När du klickar på kommandoknappen i kalkylbladet visar Excel VBA varje värde en liten bråkdel av en sekund och det kan ta lite tid.

2. För att påskynda processen, uppdatera koden enligt följande.

Dim i As Integer
Application.ScreenUpdating = Falskt
För i = 1 Till 10000
Område ("A1"). Värde = i
Nästa i
Application.ScreenUpdating = True

Som ett resultat kommer din kod att köras mycket snabbare och du kommer bara att se slutresultatet (10000).

DisplayAlerts

Du kan instruera Excel VBA att inte visa varningar när du kör kod.

1. Lägg till exempel en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

ActiveWorkbook.Close

När du klickar på kommandoknappen i kalkylbladet stänger Excel VBA din Excel -fil och ber dig spara de ändringar du gjort.

2. För att instruera Excel VBA att inte visa denna varning när koden körs, uppdatera koden enligt följande.

Application.DisplayAlerts = Falskt
ActiveWorkbook.Close
Application.DisplayAlerts = True

Som ett resultat stänger Excel VBA din Excel -fil utan att be dig spara de ändringar du gjort. Eventuella ändringar går förlorade.

Beräkning

Som standard är beräkningen inställd på automatisk. Som ett resultat beräknar Excel arbetsboken automatiskt varje gång ett värde som påverkar en formel ändras. Om din arbetsbok innehåller många komplexa formler kan du påskynda ditt makro genom att ställa in beräkningen till manuell.

1. Lägg till exempel en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Application.Calculation = xlCalculationManual

När du klickar på kommandoknappen i kalkylbladet, anger Excel VBA beräkningen till manuell.

2. Du kan verifiera detta genom att klicka på Arkiv, Alternativ, Formler.

3. När du nu ändrar värdet på cell A1 beräknas inte värdet på cell B1.

Du kan beräkna arbetsboken manuellt genom att trycka på F9.

4. I de flesta situationer kommer du att ställa in beräkningen till automatisk igen i slutet av din kod. Lägg bara till följande kodrad för att uppnå detta.

Application.Calculation = xlCalculationAutomatic

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave