Excel VBA ScreenUpdating

När vi kör några VBA-makroer med en enorm uppsättning kod slutförs koden men i bakgrunden får vi bearbetningsdata i form av att köra eller vänta på pekaren. Och när det är gjort kan vi bara se resultatet. Det vanliga sättet är inte rätt sätt att se hur värdena uppdateras genom att köra kod. Låt oss till exempel säga att vi har skrivit koden för att generera några nummer i 100 celler. Nu kan den koden helt enkelt generera utdata utan att visa hur siffrorna skrivs ut. För att lösa detta har vi VBA ScreenUpdating . ScreenUpdating i VBA hjälper oss att se hur koden genererar utgången. Detta kan vara siffror, text, alfabet eller kombination. När vi har kört kodslingan, genom VBA ScreenUpdating, kunde vi se siffrorna som genereras.

Hur använder man ScreenUpdating-applikationen i Excel VBA?

Vi kommer att lära dig att använda ScreenUpdating-applikationen i Excel med hjälp av VBA-koden.

Du kan ladda ner denna VBA ScreenUpdating Excel-mall här - VBA ScreenUpdating Excel Template

VBA ScreenUpdating kan märkas när vi kör koden eller makroen. Medan koden körs kan vi se hur vår skärm uppdateras av värdena som genereras av skriftlig kod i VBA. I stället för att se det äldre väntetecknet kan vi med hjälp av VBA ScreenUpdating se hur skärmen uppdaterar värdena på output med VBA ScreenUpdating. Nu kan vi också se namnet på själva artikeln som definierar den fungerar, VBA ScreenUpdating .

VBA ScreenUpdating - Exempel # 1

I det här exemplet ser vi en enkel kod för uppdatering av skärmen. För detta behöver vi några celler med siffror, som visas nedan. För detta följer du stegen nedan:

Steg 1: Öppna en modul från Infoga-menyfliken som visas nedan.

Steg 2: Skriv nu delproceduren i namnet på VBA ScreenUpdating som visas nedan.

Koda:

 Sub Screen_Update1 () End Sub 

Steg 3: Vi kommer nu att kopiera siffrorna från cell A1: A3 till andra celler. Låt oss säga att cellen ska vara C1: C3 med hjälp av koden nedan.

Koda:

 Sub Screen_Update1 () Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3") End Sub 

Steg 4: Nu om vi kör den här koden, kunde vi bara få den utgång som kopieras värden från kolumn A till C. Nu kommer vi att använda ScreenUpdating-applikationen som visas nedan.

Koda:

 Sub Screen_Update1 () Application.ScreenUpdating Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3") Slut Sub 

Steg 5: Vi sätter ett jämnt tecken för att välja de booleska värdena som är Sanna eller FALSE. Vi kommer att välja FALSE för att stoppa skärmuppdateringen.

Koda:

 Sub Screen_Update1 () Application.ScreenUpdating = False Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3" ) Avsluta under 

Steg 6: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen som finns under menyfältet. Vi ser att värdena kopieras från kolumn A till C.

Detta kan ses tydligare om vi har ett enormt antal siffror.

VBA ScreenUpdating - Exempel # 2

Låt oss se ett annat exempel för ScreenUpdating. Den här gången låt oss överväga antalet från 1 till 20 från cell A1 till A20 som visas nedan.

För användning av screenupdating-applikation, följ stegen nedan:

Steg 1: Skriv delproceduren för VBA Screenupdating som visas nedan.

Koda:

 Sub Screen_Update2 () End Sub 

Steg 2: Skriv nu koden för att välja intervallcell från A1 till A20 och kopiera dem vid B1 till F20 som visas nedan. På liknande sätt som vi såg i exempel 1.

Koda:

 Sub Screen_Update2 () Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

Steg 3: För att tillämpa screenupdating-applikationen använder vi igen en liknande kodrad som vi har sett i exempel-1.

Koda:

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

Den ovan använda applikationen ScreenUpdating som FALSE gör att vi kan se hur VBA-koden uppdaterar skärmen. Eftersom vi har fler nummer så finns det chanser att vi kan se screenupdating.

Steg 4: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen. Vi kunde se värdet uppdateras.

VBA ScreenUpdating - Exempel # 3

Det finns ett annat sätt att se skärmen uppdateras. Detta kan göras med hjälp av For-Next Loop. I det här exemplet kommer vi att skriva ut siffrorna i en kombinationsmatris för rad och kolumn. För detta följer du stegen nedan:

Steg 1: Skriv delproceduren för VBA ScreenUpdating.

Koda:

 Sub Screen_Updating3 () End Sub 

Steg 2: Förklara nu de två variablerna för rad och kolumner separat som datatyp Lång.

Koda:

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

Steg 3: Förklara nu en annan variabel som vi kommer att använda som referens för att starta siffrorna.

Koda:

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

Steg 4: Ge nu referensnumret från vilken position vi vill börja räkna. Här ger vi det som 0.

Koda:

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

Steg 5: Öppna nu en For-loop och ange antalet kolumner och rader som vill se uppdatering. Låt säga från 1 till 50.

Koda:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 End Sub 

Steg 6: För att fortsätta loopen, ge MyNumber-variabeln +1.

Koda:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 End Sub 

Steg 7: Välj nu rad- och kolumnvariablerna i cellfunktionen. Och välj sedan värdena lagrade i dem och tilldela dem till MyNumber-variabeln.

Koda:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). Select Cells (RowCount, ColumnCount) .Value = MyNumber End Sub 

Steg 8: Stäng nu Loop by Next. Inkludera rad- och kolumnvariabler som vi definierade och använde i For-Next-slingan.

Koda:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). Select Cells (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Steg 9: Nu har vi inte lagt in programmet Screenupdating ännu. Sätt nu in Screenupdating-applikationen som FALSE innan slingan startar och som SANT i slutet av slingan som visas nedan.

Koda:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Sätt nu samman den fullständiga koden steg för steg genom att trycka på F8-funktionsknappen och kör den sedan om inget fel hittas. Vi ser hur varje cell med valda rader och kolumner uppdateras med de värden som lagras i den.

Fördelar med Excel VBA ScreenUpdating

  • Det är ganska bra att se hur skärmen uppdateras med värdet lagrat i slingan.
  • Vi kan använda Screenupdating om vi vill växla mellan kalkylblad och arbetsböcker.
  • Vi kan använda valfritt antal nummer.

Saker att komma ihåg

  • Vi använder infoga For-Next- slinga som ram eller först, vi kan uppfylla villkoret för For- slinga och sedan stänga den av Nästa.
  • VBA ScreenUpdating är ganska användbar och synlig om vi använder en enorm uppsättning siffror.
  • När du är klar sparar du excel-filen eftersom makro möjliggör excel-format.
  • VBA ScreenUpdating kan också användas för att skapa ett makro genom vilket vi kan skicka e-postmeddelanden.

Rekommenderade artiklar

Detta är en guide till VBA ScreenUpdating. Här diskuterar vi hur du använder ScreenUpdating-applikationen i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA-samling (exempel)
  2. VBA IF-uttalanden | Excel-mallar
  3. Hur använder jag Excel VBA sorteringsfunktion?
  4. VBA While Loop (exempel med Excel-mall)
  5. VBA Environ

Kategori: