Excel VBA Umiddelbart vindu - 5 fantastiske måter å bruke det på!

‘Umiddelbart vindu’ kan være et nyttig verktøy å bruke når du arbeider med VBA i Excel.

Med vinduet Umiddelbart kan du raskt gjøre ting som:

  • Få informasjon om Excel -filer (for eksempel antall ark i en arbeidsbok eller navnet på arbeidsboken)
  • Få informasjon om Debug.Print raskt
  • Kjør en kodelinje på sekunder
  • Kjør en makro (eller ring en funksjon)
  • Få informasjon om variabler (eller angi verdien eller variablene)

Selv om du ikke trenger å bruke det umiddelbare vinduet for å jobbe med VBA i Excel, kan det gjøre deg mye mer effektiv å vite hvordan du bruker det godt.

I denne opplæringen vil jeg dekke alt du trenger å vite om det umiddelbare vinduet og hvordan du bruker det best (forklart med eksempler).

La oss komme i gang!

Hva er et umiddelbart vindu i Excel VBA?

Umiddelbart vindu er en del av VB Editor som du kan bruke til å gjøre noen raske ting.

For å gi deg et eksempel, hvis du har en arbeidsbok med noen skjulte regneark og du raskt vil vite antall regneark, kan du gjøre det på noen få sekunder med vinduet Umiddelbart.

Umiddelbart vindu gjør mye mer (som du vil se senere i denne opplæringen). Men til å begynne med, la oss bare tenke på det umiddelbare vinduet som et verktøy for å hjelpe deg med å få fart på arbeidet ditt i Excel VBA.

Hvor finner jeg det umiddelbare vinduet?

Når du åpner Excel VB-Editor, kan du allerede se det umiddelbare vinduet som en del av VB Editor. Og hvis du ikke allerede ser det, kan du enkelt få det til å dukke opp.

Nedenfor er trinnene for å åpne VB Editor og gjøre det umiddelbare vinduet synlig:

  1. Klikk på "Utvikler" -fanen i Excel -båndet (hvis du ikke ser utviklerfanen, klikk her for å lære hvordan du får det)
  2. Klikk på "Visual Basic" i kodegruppen. Dette åpner VB Editor
  3. I VB Editor, klikk på "Vis" -alternativet i menyen
  4. Klikk på Umiddelbart vindu. Dette vil få det umiddelbare vinduet til å vises i VB Editor.

Hvis du er mer komfortabel med snarveier, nedenfor er noen for å fremskynde trinnene ovenfor:

  • Slik åpner du VB Editor - ALT + F11 (dette fungerer selv om du ikke har kategorien Utvikler på båndet)
  • For å vise det umiddelbare vinduet - Kontroll + G (bruk denne VB Editor er åpen)

Eksempler på bruk av umiddelbart vindu i Excel VBA

Nå som du vet hvor du skal finne det umiddelbare vinduet, la oss se noen fantastiske eksempler der du kan bruke det når du jobber med Excel VBA.

Få informasjon om filene/arbeidsbøkene

"Umiddelbart vindu" er et sted hvor du kan stille spørsmål om arbeidsbøkene, og det vil gi deg svaret med en gang.

Anta for eksempel at du har en arbeidsbok og du vil vite hvor mange ark det er i arbeidsboken, du kan skrive inn koden nedenfor i det umiddelbare vinduet og trykke enter -tasten.

? ActiveWorkbook.Sheets.Count

Dette vil umiddelbart fortelle deg det totale antallet ark i den aktive arbeidsboken.

Dette kan være nyttig når du har en arbeidsbok som har mange ark, og du ikke kan telle den manuelt (eller ikke vil), eller når du har en arbeidsbok der det er skjulte ark og du vil vite summen telle.

Den? (spørsmålstegn) skal brukes før spørringen, slik at VBA kan forstå at du stiller et spørsmål. Hvis du ikke bruker dette spørsmålstegnet, vil det umiddelbare vinduet ikke gi deg detaljer/svar.

Dette er et veldig enkelt eksempel der Immediate Window gir deg litt informasjon og sparer tid.

Nedenfor er noen flere eksempler:

For å få navnet på den aktive arbeidsboken

? ActiveWorkbook.Name

For å få navnet på det aktive arket

? Activesheet.Name

For å få banen til arbeidsboken (adressen der den er lagret)

? ActiveWorkbook.Path

Så hvis du trenger noe om et objekt (for eksempel arbeidsbok, ark, diagrammer, former, rekkevidde, etc.), kan du bruke øyeblikkelig vindu for raskt å få denne informasjonen.

Få informasjon om Debug.Print

I Excel VBA brukes Debug.Print til å vise verdien av en variabel umiddelbart i det umiddelbare vinduet.

For eksempel vil koden nedenfor umiddelbart vise meldingen "God morgen" i det umiddelbare vinduet.

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

Du kan bruke Debug.Print -linjen i koden din for raskt å få noen data i det umiddelbare vinduet eller for å feilsøke koden.

For eksempel, hvis du vil få navnene på alle arkene i en arbeidsbok, kan du bruke koden nedenfor:

Sub GetSheetNames () For hver sh i ActiveWorkbook.Sheets Debug.Print sh.Name Neste sh End Sub

Koden ovenfor går gjennom hvert ark i den aktive arbeidsboken og gir navnet i det umiddelbare vinduet.

Debug.Print er en nyttig teknikk for å feilsøke koden din. For eksempel, hvis du kjører en sløyfe og vil se hvor mange ganger løkken ble kjørt, kan du ganske enkelt plassere en Debug.Print -linje som ganske enkelt viser økende tall når hver løkke kjøres.

Hvis du bruker Debug.Print for å feilsøke koden, husk å fjerne den når du er ferdig.

Kjør en makro (eller en funksjon)

Selv om det er forskjellige måter å kjøre en makro i Excel, er en av de hurtige måtene å bruke det umiddelbare vinduet.

For å kjøre en makro er alt du trenger å gjøre å skrive inn navnet på makroen i det umiddelbare vinduet og trykke enter -tasten (markøren skal stå på slutten av makronavnet for at dette skal fungere).

Nedenfor er et eksempel, der så snart du skriver inn navnet på makroen i det umiddelbare vinduet, kjører den koden (der koden viser meldingen "God morgen" i det umiddelbare vinduet).

Dette kan være nyttig når du har en kode og vil sjekke om den fungerer som forventet eller ikke. Du kan ha én eller flere Debug.Print -linjer i koden og kjøre makroen fra det umiddelbare vinduet.

Det vil umiddelbart vise deg verdiene i det umiddelbare vinduet, og du kan sjekke om alt fungerer bra eller ikke.

Du kan også bruke det umiddelbare vinduet til å utføre tilpassede funksjoner også.

For eksempel, i eksemplet nedenfor, opprettes en funksjon for å kontrollere om et tall er partall eller oddetall. Du kan kjøre denne funksjonen fra det umiddelbare vinduet ved å skrive inn funksjonen med argumentet den tar. Du må bruke spørsmålstegnet i dette tilfellet da du ber det om å ikke returnere en verdi som er lagret i funksjonen.

Utfør en kodelinje (eller flere kodelinjer)

Med det umiddelbare vinduet kan du også kjøre en kodelinje (eller flere koderader).

Den beste delen med dette er at du bare kan åpne det umiddelbare vinduet, kjøre koden og lukke (i motsetning til en makro som du må sette i et modulvindu og deretter utføre).

Et brukstilfelle der dette kan være nyttig, er når du raskt vil vise alle arkene i arbeidsboken.

Nedenfor er koden du kan plassere i det umiddelbare vinduet for å vise alle arkene i arbeidsboken. Plasser markøren på slutten av linjen og så snart du trykker på enter -tasten, vil det skjule alle arkene.

For hvert ark i denne arbeidsboken. Ark: Sheet.Visible = True: Next Sheet

Vær oppmerksom på at selv om dette ser ut som en enkelt kodelinje, består den av tre deler.

Hver del er atskilt med et: (kolon), som fungerer som et linjeskift. Dette lar deg bruke For Next -sløyfen i det umiddelbare vinduet for å gå gjennom hvert ark og endre den synlige egenskapen til TRUE (som viser et skjult ark).

Få variable verdier

Når du begynner å lage komplekse VBA -koder, må du stole på variabler for å gjøre jobben.

En variabel er noe som har en verdi, og denne verdien kan endres når koden kjører. Du kan bruke et øyeblikkelig vindu for å kontrollere disse variabelverdiene.

Nedenfor er en enkel kode som gir summen av de første 10 positive heltallene og viser resultatet i det umiddelbare vinduet.

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

Så snart du kjører denne koden, vil du se resultatet nedenfor i det umiddelbare vinduet. Dette forteller deg umiddelbart at koden fungerer bra og gir det forventede resultatet.

Hvis det ikke gir de forventede resultatene, kan du feilsøke koden.

Mange bruker en meldingsboks mens de feilsøker koden. Selv om det fungerer fint, synes jeg det er litt påtrengende ettersom det tar meg til Excel -arbeidsboken og viser en meldingsboks. På den annen side er det mye jevnere å bruke umiddelbare vinduer for å feilsøke og holder meg i selve Visual Basic -redaktøren.

Merk: Hvis du jobber med en kompleks kode og har flere variabler du må spore, er det bedre å bruke et klokkevindu. Et klokkevindu lar deg legge til en variabel, og deretter kan du se hvordan variabelen endres i sanntid (eller når du går gjennom koden).

Angi variabel verdi ved feilsøking

Dette er en litt avansert bruk av vinduet Umiddelbar, men hvis du bruker det, kan det være en stor tidsbesparelse når du feilsøker koden.

Du kan bruke det umiddelbare vinduet til å angi verdien til en variabel mens du kjører koden i feilsøkingsmodus (der du angir et brytpunkt slik at koden ikke kjøres helt - men opp til en bestemt linje).

For eksempel, hvis du har en løkke som går 10 ganger og du vil sjekke hva som skjer når løkken går for 8. gang, trenger du ikke å gå gjennom løkken syv ganger for å komme til de åttende iterasjonene. Du kan ganske enkelt legge til et brytpunkt før sløyfen og endre sløyfevariabelen til 8. Når du kjører koden, vil den vise deg hva som skjer når løkkene går for 8. gang.

Dette blir mye mer nyttig når du skriver komplekse koder og vil feilsøke bestemte løkker.

Anta at du har en kode som vist nedenfor:

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

Koden ovenfor viser ganske enkelt arknavnene til alle arkene i arbeidsboken i det umiddelbare vinduet.

Hvis du ikke vil liste opp navnene på alle arkene, men bare arkene etter det tiende arket, kan du plassere et brytpunkt i den andre linjen i sløyfen (slik at ingenting etter den linjen utføres) og deretter endre variabelen 'i' til 11.

For å endre variabelnavnet i det umiddelbare vinduet, skriv inn følgende linje:

jeg = 11

Dette vil sikre at de første 10 gangene i løkken ignoreres og at den variable verdien er satt til 11.

Forankring/frakobling av det umiddelbare vinduet

Du kan ha umiddelbart vindu forankret til VB Editor - noe som betyr at det forblir på ett sted i VB Editor og beveger seg og størrelser med det.

Og du kan også få den avkoblet, noe som betyr at den er uavhengig av VB Editor og kan flyttes som et frittstående vindu.

Nedenfor ser du hvordan du kan endre dokkinginnstillingene for det umiddelbare vinduet:

  1. Klikk på Verktøy -alternativet i menyen i VB Editor
  2. Klikk på "Alternativer"
  3. I dialogboksen Alternativer klikker du på den siste fanen - Docking
  4. Sjekk alternativet Umiddelbart vindu for å gjøre det dokkingbart, og fjern merket for å gjøre det ikke-dokkingbart.
  5. Klikk OK

Alternativt, hvis det umiddelbare vinduet er synlig, kan du også høyreklikke og endre den dokkingbare egenskapen til det.

Dockable betyr at det umiddelbare vinduet vil bli en del av det eksisterende vinduet ved å plassere seg selv på bestemte steder, for eksempel til venstre for vinduet eller nederst. Dette gjør at de forankrede vinduene kan bevege seg og størrelse sammen.

Umiddelbart vindu vises ikke - Her er noen måter å få det til

Det kan være flere årsaker til at dette skjer.

Den vanligste årsaken til at du ikke ser et umiddelbart vindu er at det ikke har blitt synlig. Det er kanskje ikke synlig som standard, og for å få det til å vises må du gå til alternativet Vis i menyen og klikke på alternativet Umiddelbart vindu. Dette vil sørge for at det er synlig i VB Editor.

Du kan også bruke tastaturet Control + G for å få det umiddelbare vinduet til å dukke opp. Bruk denne hurtigtasten mens du er i VB Editor.

En annen grunn til at du kanskje ikke ser det umiddelbare vinduet, er at det er minimert nå er så lukket at du ikke kan se det (som rapportert her). Bare gjør en rask skanning og sjekk om du ser en liten blå/rød firkant som lurer et sted. Du kan holde markøren over den, og du vil se et alternativ for å endre størrelsen på den.

Hvis du ikke kan se det umiddelbare vinduet i det hele tatt, er det noe som har fungert for mange mennesker (dette skjer ofte på grunn av endringer i skjermoppløsningen):

  1. Åpne VB Editor
  2. Trykk på Ctrl-G for å gi fokus til det umiddelbare vinduet (eller klikk på Vis-alternativet i menyen og klikk deretter på det umiddelbare vinduet)
  3. Hold inne ALT -tasten, og trykk deretter på mellomromstasten. Dette viser nedtrekksalternativer for det umiddelbare vinduet.
  4. Trykk på M (for å flytte)
  5. Bruk piltastene til å flytte vinduet
  6. Når du har funnet ut hvor det er, gjør det større

Jeg fikk dette fra et forum her og la også merke til at det samme ble foreslått som en løsning for at VBA -vinduet ikke dukker opp.

En annen ting du kan prøve er å gjøre det umiddelbare vinduet frakoblet (gå til Verktøy -> Alternativer -> Docking og fjern merket for det umiddelbare vinduet). Dette har fungert for noen mennesker.

Du kan også like følgende artikler:

  • Excel personlig makro arbeidsbok | Lagre og bruk makroer i alle arbeidsbøker
  • Excel VBA -sløyfer: For neste, gjør mens, gjør til, for hver (med eksempler)
  • Arbeide med regneark ved hjelp av Excel VBA
  • Opprette en brukerdefinert funksjon (UDF) i Excel VBA

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave