Excel VBA Omedelbart fönster - 5 fantastiska sätt att använda det!

"Omedelbart fönster" kan vara ett användbart verktyg att använda när du arbetar med VBA i Excel.

Med fönstret Omedelbar kan du snabbt göra saker som:

  • Få information om Excel -filer (t.ex. antal ark i en arbetsbok eller arbetsbokens namn)
  • Få information om Debug.Print snabbt
  • Kör en kodrad på några sekunder
  • Kör ett makro (eller ring en funktion)
  • Få information om variabler (eller ställ in värdet eller variablerna)

Även om du inte behöver använda omedelbart fönster för att arbeta med VBA i Excel, kan du göra dig mycket mer effektiv om du vet hur du använder det väl.

I denna handledning kommer jag att täcka allt du behöver veta om det närmaste fönstret och hur du bäst använder det (förklarat med exempel).

Låt oss börja!

Vad är ett omedelbart fönster i Excel VBA?

Omedelbart fönster är en del av VB Editor som du kan använda för att göra några snabba saker.

För att ge dig ett exempel, om du har en arbetsbok med några dolda kalkylblad och du snabbt vill veta hur många arbetsblad du kan göra, kan du göra det på några sekunder med fönstret Omedelbart.

Omedelbart fönster gör mycket mer (som du kommer att se senare i den här självstudien). Men till att börja med, låt oss bara tänka på det omedelbara fönstret som ett verktyg för att hjälpa dig att påskynda ditt arbete i Excel VBA.

Var hittar man det omedelbara fönstret?

När du öppnar Excel VB-Editor kanske du redan ser det omedelbara fönstret som en del av VB-redigeraren. Och om du inte redan ser det kan du enkelt få det att dyka upp.

Nedan följer stegen för att öppna VB Editor och göra det omedelbara fönstret synligt:

  1. Klicka på fliken "Utvecklare" i Excel -bandet (om du inte ser utvecklarfliken, klicka här för att lära dig hur du får det)
  2. Klicka på "Visual Basic" i kodgruppen. Detta öppnar VB Editor
  3. I VB Editor klickar du på alternativet "Visa" i menyn
  4. Klicka på Omedelbart fönster. Detta kommer att få det omedelbara fönstret att visas i VB Editor.

Om du är mer bekväm med genvägar, nedan är några för att påskynda ovanstående steg:

  • För att öppna VB Editor - ALT + F11 (det här fungerar även om du inte har fliken Utvecklare i menyfliksområdet)
  • För att visa det omedelbara fönstret - Kontroll + G (använd den här VB Editor är öppen)

Exempel på användning av omedelbart fönster i Excel VBA

Nu när du vet var du ska hitta det omedelbara fönstret, låt oss se några fantastiska exempel där du kan använda det när du arbetar med Excel VBA.

Få information om filerna/arbetsböckerna

"Omedelbart fönster" är en plats där du kan ställa frågor om arbetsböckerna och det kommer att ge dig svaret direkt.

Anta till exempel att du har en arbetsbok och du vill veta hur många blad som finns i arbetsboken. Du kan skriva koden nedan i det omedelbara fönstret och trycka på Enter -tangenten.

? ActiveWorkbook.Sheets.Count

Detta berättar omedelbart det totala antalet ark i den aktiva arbetsboken.

Detta kan vara användbart när du har en arbetsbok som har många blad och du inte kan räkna den manuellt (eller inte vill), eller när du har en arbetsbok där det finns dolda blad och du vill veta summan räkna.

Den? (frågetecken) ska användas före frågan så att VBA kan förstå att du ställer en fråga. Om du inte använder detta frågetecken kommer det närmaste fönstret inte att ge dig detaljerna/svaret.

Nu är detta ett riktigt enkelt exempel där Immediate Window ger dig lite information och sparar tid.

Nedan följer några fler exempel:

För att få namnet på den aktiva arbetsboken

? ActiveWorkbook.Name

För att få namnet på det aktiva arket

? Activesheet.Name

För att få sökvägen till arbetsboken (adressen där den sparas)

? ActiveWorkbook.Path

Så om du behöver något om ett objekt (t.ex. arbetsbok, blad, diagram, former, intervall, etc.) kan du använda det omedelbara fönstret för att snabbt få denna information.

Få information om Debug.Print

I Excel VBA används Debug.Print för att visa värdet på en variabel direkt i det omedelbara fönstret.

Till exempel visar nedanstående kod omedelbart meddelandet "God morgon" i det omedelbara fönstret.

Sub DisplayMessage () Debug.Print "Good Morning" End Sub

Du kan använda Debug.Print -raden i din kod för att snabbt få lite data i det omedelbara fönstret eller för att felsöka din kod.

Om du till exempel vill få namnen på alla blad i en arbetsbok kan du använda koden nedan:

Sub GetSheetNames () För varje sh i ActiveWorkbook.Sheets Debug.Print sh.Name Nästa sh Avsluta Sub

Ovanstående kod går igenom varje ark i den aktiva arbetsboken och ger namnet i det omedelbara fönstret.

Debug.Print är en användbar teknik för att felsöka din kod. Om du till exempel kör en loop och vill se hur många gånger loopen kördes kan du helt enkelt placera en Debug.Print -rad som helt enkelt visar de ökande talen när varje loop körs.

Om du använder Debug.Print för att felsöka koden, kom ihåg att ta bort den när du är klar.

Kör ett makro (eller en funktion)

Även om det finns olika sätt att köra ett makro i Excel, är ett av de snabba sätten att använda det omedelbara fönstret.

För att köra ett makro behöver du bara ange namnet på makrot i det omedelbara fönstret och trycka på Enter -tangenten (markören ska vara i slutet av makronamnet för att detta ska fungera).

Nedan följer ett exempel där den så snart du anger namnet på makrot i det omedelbara fönstret, kör koden (där koden visar meddelandet "God morgon" i det omedelbara fönstret).

Detta kan vara användbart när du har en kod och vill kontrollera om den fungerar som förväntat eller inte. Du kan ha en eller flera Debug.Print -rader i koden och köra makrot från det omedelbara fönstret.

Det visar dig direkt värdena i det omedelbara fönstret och du kan kontrollera om allt fungerar bra eller inte.

Du kan också använda det omedelbara fönstret för att utföra anpassade funktioner också.

Till exempel i exemplet nedan skapas en funktion för att kontrollera om ett tal är jämnt eller udda. Du kan köra den här funktionen från det omedelbara fönstret genom att skriva funktionen med argumentet som krävs. Du måste använda frågetecknet i det här fallet eftersom du ber det inte returnera ett värde som är lagrat i funktionen.

Kör en kodrad (eller flera kodlinjer)

Med omedelbart fönster kan du också köra en kodrad (eller flera koderader).

Det bästa med detta är att du helt enkelt kan öppna det omedelbara fönstret, köra koden och stänga (till skillnad från ett makro som du måste sätta i ett modulfönster och sedan köra).

Ett användningsfall där detta kan vara användbart är när du snabbt vill ta bort alla blad i arbetsboken.

Nedan finns koden som du kan placera i det omedelbara fönstret för att visa alla blad i arbetsboken. Placera markören i slutet av raden och så snart du trycker på Enter -tangenten kommer alla ark att visas.

För varje blad i denna arbetsbok.Sheets: Sheet.Visible = True: Next Sheet

Observera att även om det här ser ut som en enda kodrad, består det av tre delar.

Varje del är åtskild med ett: (kolon), som fungerar som en radbrytning. Detta låter dig använda For Next -slingan i det omedelbara fönstret för att gå igenom varje ark och ändra den synliga egenskapen till TRUE (vilket döljer eventuellt dolt ark).

Få variabla värden

När du börjar skapa komplexa VBA -koder måste du förlita dig på variabler för att göra jobbet.

En variabel är något som har ett värde och detta värde kan ändras när koden körs. Du kan använda ett omedelbart fönster för att kontrollera dessa variabelvärden.

Nedan finns en enkel kod som ger summan av de första 10 positiva heltalen och visar resultatet i det omedelbara fönstret.

Sub AddFirstTenNumbers () Dim Var As Integer Dim i As Integer Dim k As Integer For i = 1 To 10 k = k + i Next i Debug.Print i, k End Sub

Så snart du kör den här koden ser du nedanstående resultat i det omedelbara fönstret. Detta berättar direkt att koden fungerar bra och ger det förväntade resultatet.

Om det inte ger de förväntade resultaten kan du felsöka koden.

Många använder en meddelanderuta när de felsöker koden. Även om det fungerar bra, tycker jag att det är lite påträngande eftersom det tar mig till Excel -arbetsboken och visar en meddelanderuta. Å andra sidan är det mycket smidigare att använda omedelbart fönster för att felsöka och håller mig i själva Visual Basic -redigeraren.

Obs! Om du arbetar med en komplex kod och har flera variabler som du behöver spåra är det bättre att använda ett klockfönster. Ett klockfönster låter dig lägga till en variabel och sedan kan du se hur variabeln förändras i realtid (eller när du går igenom koden).

Ange variabelt värde vid felsökning

Detta är en lite avancerad användning av fönstret Omedelbar, men om du använder det kan det vara en enorm tidsbesparing när du felsöker koden.

Du kan använda det omedelbara fönstret för att ställa in värdet på en variabel medan du kör koden i felsökningsläget (där du ställer in en brytpunkt så att koden inte körs helt - utan upp till en specifik rad).

Till exempel, om du har en slinga som går 10 gånger och du vill kontrollera vad som händer när slingan körs för åttonde gången, behöver du inte gå igenom slingan sju gånger för att komma till åttonde iterationerna. Du kan helt enkelt lägga till en brytpunkt före slingan och ändra loopvariabeln till 8. Nu, när du kör koden, kommer den att visa dig vad som händer när looparna körs för åttonde gången.

Detta blir mycket mer användbart när du skriver komplexa koder och vill felsöka specifika slingor.

Antag att du har en kod enligt nedan:

Sub UnhideSheets () For i = 1 To Worksheets.Count Debug.Print Sheets (i) .Name Next i End Sub

Ovanstående kod listar helt enkelt bladnamnen på alla blad i arbetsboken i det närmaste fönstret.

Om du inte vill lista namnen på alla blad, utan bara arken efter det tionde arket, kan du placera en brytpunkt i loopens andra rad (så att ingenting efter den raden körs) och sedan ändra variabel 'i' till 11.

Om du vill ändra variabelnamnet i det omedelbara fönstret anger du följande rad:

jag = 11

Detta säkerställer att de första tio gånger i slingan ignoreras och ditt variabla värde är inställt på 11.

Docka/ta bort det omedelbara fönstret

Du kan ha omedelbart fönster dockat till VB Editor - vilket innebär att det förblir på ett ställe i VB Editor och flyttar och storlekar med det.

Och du kan också ha den av-dockad, vilket innebär att den är oberoende av VB-redigeraren och kan flyttas som ett fristående fönster.

Nedan ser du hur du kan ändra dockningsinställningarna för det omedelbara fönstret:

  1. Klicka på alternativet Verktyg i menyn i VB -redigeraren
  2. Klicka på "Alternativ"
  3. Klicka på den sista fliken - Dockning i dialogrutan Alternativ
  4. Markera alternativet Omedelbart fönster för att göra det dockningsbart och avmarkera det för att göra det av-dockningsbart.
  5. Klicka på OK

Alternativt, om det omedelbara fönstret är synligt, kan du också högerklicka och ändra den dockningsbara egenskapen för det.

Dockable innebär att det omedelbara fönstret skulle bli en del av det befintliga fönstret genom att placera sig själv på vissa platser, till exempel till vänster om fönstret eller längst ner. Detta gör att de dockade fönstren kan flyttas och storlekas ihop.

Omedelbart fönster visas inte - här är några sätt att få det

Det kan finnas flera orsaker till att detta händer.

Den vanligaste anledningen till att du inte ser ett omedelbart fönster är att det inte har blivit synligt. Det kanske inte är synligt som standard och för att det ska visas måste du gå till alternativet Visa i menyn och klicka på alternativet Omedelbart fönster. Detta kommer att se till att det är synligt i VB Editor.

Du kan också använda tangentbordet Control + G för att få det omedelbara fönstret att dyka upp. Använd den här kortkommandot medan du är i VB -redigeraren.

En annan anledning till att du kanske inte ser det omedelbara fönstret är att det har minimerats nu är så stängt att du inte kan se det (som rapporterats här). Gör bara en snabbskanning och kontrollera om du ser en liten blå/röd fyrkant som lurar någonstans. Du kan hålla muspekaren över den och du kommer att se ett alternativ för att ändra storlek på den.

Om du inte kan se det omedelbara fönstret alls, här är något som har fungerat för många människor (detta händer ofta på grund av förändringar i skärmupplösningen):

  1. Öppna VB Editor
  2. Tryck på Ctrl-G för att fokusera på det omedelbara fönstret (eller klicka på alternativet Visa i menyn och klicka sedan på det omedelbara fönstret)
  3. Håll ned ALT -tangenten och tryck sedan på mellanslagstangenten. Detta visar rullgardinsmenyn för det omedelbara fönstret.
  4. Tryck på M (för flyttning)
  5. Använd piltangenterna för att flytta fönstret
  6. När du väl har fattat var det är, gör det större

Jag fick detta från ett forum här och märkte också att det som föreslogs som en lösning för att VBA -fönstret inte dyker upp.

En annan sak du kan prova är att göra det omedelbara fönstret oåtkomligt (gå till Verktyg -> Alternativ -> Dockning och avmarkera alternativet för omedelbart fönster). Detta har fungerat för vissa människor.

Du kanske också gillar följande artiklar:

  • Excel Personal Macro Workbook | Spara och använd makron i alla arbetsböcker
  • Excel VBA -slingor: För nästa, gör medan, gör tills, för varje (med exempel)
  • Arbeta med kalkylblad med Excel VBA
  • Skapa en användardefinierad funktion (UDF) i Excel VBA

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

wave wave wave wave wave