Excel VBA ScreenUpdating

Wanneer we een VBA-macro met een enorme set code uitvoeren, wordt de code voltooid, maar op de achtergrond krijgen we verwerkingsgegevens in de vorm van actief of wachten op de aanwijzer. En als het klaar is, kunnen we alleen de uitvoer zien. De normale manier is niet de juiste manier om te zien hoe de waarden worden bijgewerkt door code uit te voeren. Laten we bijvoorbeeld zeggen dat we de code hebben geschreven om enkele getallen in 100 cellen te genereren. Nu kan die code eenvoudig de uitvoer genereren zonder te laten zien hoe de nummers worden afgedrukt. Om dit op te lossen, hebben we VBA ScreenUpdating . ScreenUpdating in VBA helpt ons om te zien hoe de code de uitvoer genereert. Dit kunnen cijfers, tekst, alfabetten of een combinatie zijn. Nadat we de codelus hadden uitgevoerd, konden we door VBA ScreenUpdating zien dat de getallen werden gegenereerd.

Hoe de toepassing ScreenUpdating in Excel VBA te gebruiken?

We zullen leren hoe de toepassing ScreenUpdating in Excel te gebruiken met behulp van de VBA-code.

U kunt deze VBA ScreenUpdating Excel-sjabloon hier downloaden - VBA ScreenUpdating Excel-sjabloon

VBA ScreenUpdating kan worden opgemerkt terwijl we de code of macro uitvoeren. Terwijl de code actief is, kunnen we zien hoe ons scherm wordt bijgewerkt met de waarden die zijn gegenereerd door geschreven code in VBA. In plaats van het oudere wachtbord te zien, kunnen we met behulp van VBA ScreenUpdating zien hoe het scherm de uitvoerwaarden door VBA ScreenUpdating bijwerkt. Nu kunnen we ook zien dat de naam van het artikel zelf bepaalt hoe het werkt, VBA ScreenUpdating .

VBA ScreenUpdating - Voorbeeld # 1

In dit voorbeeld zien we een eenvoudige code voor het bijwerken van het scherm. Hiervoor hebben we enkele cellen met getallen nodig, zoals hieronder getoond. Volg hiervoor de onderstaande stappen:

Stap 1: Open een module via het menutabblad Invoegen zoals hieronder wordt weergegeven.

Stap 2: Schrijf nu de subprocedure op naam van VBA ScreenUpdating zoals hieronder weergegeven.

Code:

 Sub Screen_Update1 () Einde Sub 

Stap 3: We kopiëren nu de nummers van cel A1: A3 naar andere cellen. Laten we zeggen dat die cel C1: C3 is met behulp van de onderstaande code.

Code:

 Sub Screen_Update1 () Bereik ("A1"). Kopieerbereik ("C1") Bereik ("A2"). Kopieerbereik ("C2") Bereik ("A3"). Kopieerbereik ("C3") Einde Sub 

Stap 4: Als we nu deze code uitvoeren, kunnen we alleen de uitvoer krijgen die waarden van kolom A tot C is gekopieerd. Nu gebruiken we de toepassing ScreenUpdating zoals hieronder weergegeven.

Code:

 Sub Screen_Update1 () Application.Screen Updatebereik ("A1"). Kopieerbereik ("C1") Bereik ("A2"). Kopieerbereik ("C2") Bereik ("A3"). Kopieerbereik ("C3") Einde Sub 

Stap 5: We plaatsen een gelijkteken om de Booleaanse waarden te selecteren die WAAR of ONWAAR zijn. We zullen FALSE selecteren om de update van het scherm te stoppen.

Code:

 Sub Screen_Update1 () Application.ScreenUpdating = Vals bereik ("A1"). Kopieerbereik ("C1") Bereik ("A2"). Kopieerbereik ("C2") Bereik ("A3"). Kopieerbereik ("C3" ) Einde Sub 

Stap 6: Voer de code uit door op F5 te drukken of door op de knop Afspelen onder het menulint te klikken. We zullen zien dat de waarden worden gekopieerd van kolom A naar C.

Dit zou duidelijker te zien zijn als we een enorm aantal cijfers hebben.

VBA ScreenUpdating - Voorbeeld # 2

Laten we een ander voorbeeld bekijken voor ScreenUpdating. Laten we deze keer het nummer van 1 tot 20 van cel A1 tot A20 bekijken, zoals hieronder wordt weergegeven.

Volg de onderstaande stappen om de toepassing Screenupdating te gebruiken:

Stap 1: Schrijf de subprocedure van VBA Screenupdating zoals hieronder weergegeven.

Code:

 Sub Screen_Update2 () Einde Sub 

Stap 2: Schrijf nu de code om de bereikcel van A1 tot A20 te selecteren en kopieer ze op B1 tot F20 zoals hieronder getoond. Op dezelfde manier als we in voorbeeld-1 zagen.

Code:

 Sub Screen_Update2 () Bereik ("A1: A20"). Kopieerbereik ("B1: F20") Einde Sub 

Stap 3: Om de screenupdating-applicatie toe te passen, zullen we opnieuw een vergelijkbare coderegel gebruiken die we in voorbeeld-1 hebben gezien.

Code:

 Sub Screen_Update2 () Application.ScreenUpdating = False Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

Met de hierboven gebruikte applicatie ScreenUpdating als FALSE kunnen we zien hoe de VBA-code het scherm bijwerkt. Omdat we meer nummers hebben, zijn er kansen dat we screenupdating kunnen zien.

Stap 4: Voer de code uit door op F5 te drukken of door op de knop Afspelen te klikken. We kunnen zien dat de waarde wordt bijgewerkt.

VBA ScreenUpdating - Voorbeeld # 3

Er is een andere manier om te zien dat het scherm wordt bijgewerkt. Dit kan worden gedaan met behulp van de For-Next Loop. In dit voorbeeld zullen we de nummers afdrukken in een combinatiematrix Rij en Kolom. Volg hiervoor de onderstaande stappen:

Stap 1: Schrijf de subprocedure van VBA ScreenUpdating.

Code:

 Sub Screen_Updating3 () Einde Sub 

Stap 2: Declareer nu de 2 variabelen voor rij en kolommen afzonderlijk als gegevenstype Lang.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Stap 3: Declareer nu een andere variabele die we zullen gebruiken als referentie om de getallen te starten.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Stap 4: Geef nu het referentienummer vanaf welke positie we willen beginnen met tellen. Hier geven we het als 0.

Code:

 Sub Screen_Updating3 () Dim RowCount Zo lang Dim ColumnCount Zo lang Dim MyNumber Zo lang MyNumber = 0 Einde Sub 

Stap 5: Open nu een For-lus en geef het aantal kolommen en rijen die bijgewerkt willen worden. Laten we zeggen van 1 tot 50.

Code:

 Sub Screen_Updating3 () Dim RowCount zo lang Dim Kolom Count zo lang Dim MyNumber zo lang MyNumber = 0 voor RowCount = 1 tot 50 End Sub 

Stap 6: Om door te gaan met de lus geeft u MyNumber-variabele +1.

Code:

 Sub Screen_Updating3 () Dim RowCount Zo lang Dim ColumnCount Zo lang Dim MyNumber Zo lang MyNumber = 0 Voor RowCount = 1 tot 50 Voor ColumnCount = 1 tot 50 MyNumber = MijnNummer + 1 End Sub 

Stap 7: Selecteer nu de rij- en kolomvariabelen in de celfunctie. En selecteer vervolgens de waarden die erin zijn opgeslagen en wijs ze toe aan de variabele MyNumber.

Code:

 Sub Screen_Updating3 () Dim RowCount zo lang Dim ColumnCount zo lang Dim MyNumber zo lang MyNumber = 0 voor RowCount = 1 tot 50 voor ColumnCount = 1 tot 50 MyNumber = Mijnnummer + 1 cellen (RowCount, ColumnCount). Selecteer cellen (RowCount, ColumnCount) .Value = MyNumber End Sub 

Stap 8: Sluit nu de Loop by Next. Neem rij- en kolomvariabelen op die we hebben gedefinieerd en gebruikt in de For-Next-lus.

Code:

 Sub Screen_Updating3 () Dim RowCount zo lang Dim ColumnCount zo lang Dim MyNumber zo lang MyNumber = 0 voor RowCount = 1 tot 50 voor ColumnCount = 1 tot 50 MyNumber = Mijnnummer + 1 cellen (RowCount, ColumnCount). Selecteer cellen (RowCount, ColumnCount) .Value = MyNumber Volgende ColumnCount Volgende RowCount Einde Sub 

Stap 9: Nu hebben we de toepassing Screenupdating nog niet ingevoegd. Voeg nu de Screenupdating-applicatie in als FALSE voor het begin van de lus en als WAAR aan het einde van de lus, zoals hieronder wordt weergegeven.

Code:

 Sub Screen_Updating3 () Dim RowCount zo lang Dim Kolom Count zo lang Dim MyNumber zo lang Application.ScreenUpdating = False MyNumber = 0 voor RowCount = 1 tot 50 voor ColumnCount = 1 tot 50 MyNumber = Mijnnummer + 1 cellen (RowCount, ColumnCount). Selecteer cellen (RowCount, ColumnCount) .Value = MijnNummer Volgende ColumnCount Volgende RowCount Application.ScreenUpdating = True End Sub 

Compileer nu de volledige code stap voor stap door op de F8-functietoets te drukken en voer deze uit als er geen fout wordt gevonden. We zullen zien hoe elke cel van geselecteerde rijen en kolommen wordt bijgewerkt met de daarin opgeslagen waarden.

Voordelen van Excel VBA ScreenUpdating

  • Het is heel nuttig om te zien hoe het scherm wordt bijgewerkt met de waarde die in de lus is opgeslagen.
  • We kunnen Screenupdating gebruiken als we willen schakelen tussen werkbladen en werkmappen.
  • We kunnen elk bereik van getallen gebruiken.

Dingen om te onthouden

  • We gebruiken de invoeg For For Next- lus als het frame of eerst, we kunnen voldoen aan de voorwaarde van For- lus en deze vervolgens sluiten door Volgende.
  • VBA ScreenUpdating is heel nuttig en zichtbaar als we een enorme reeks cijfers gebruiken.
  • Sla het excel-bestand op als Macro het excel-formaat inschakelt.
  • VBA ScreenUpdating kan ook worden gebruikt voor het maken van een macro waarmee we e-mails kunnen verzenden.

Aanbevolen artikelen

Dit is een handleiding voor VBA ScreenUpdating. Hier bespreken we hoe de ScreenUpdating-toepassing in Excel VBA kan worden gebruikt, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA-collectie (voorbeelden)
  2. VBA IF-verklaringen | Excel-sjablonen
  3. Hoe de Excel VBA-sorteerfunctie te gebruiken?
  4. VBA While Loop (voorbeelden met Excel-sjabloon)
  5. VBA Environ

Categorie: