Odmah prozor Excel VBA - 5 sjajnih načina za korištenje!

'Neposredni prozor' može biti koristan alat za rad s VBA -om u Excelu.

Neposredni prozor omogućuje vam brzo obavljanje stvari kao što su:

  • Dobijte informacije o Excel datotekama (poput broja listova u radnoj knjizi ili naziva radne knjige)
  • Brzo nabavite informacije o ispravljanju
  • Pokrenite red koda u nekoliko sekundi
  • Pokrenite makro (ili pozovite funkciju)
  • Dobijte informacije o varijablama (ili postavite vrijednost ili varijable)

Iako ne morate koristiti neposredni prozor za rad s VBA -om u Excelu, znanje o tome kako je dobro koristiti može vas učiniti mnogo učinkovitijim.

U ovom ću vodiču pokriti sve što trebate znati o neposrednom prozoru i kako ga najbolje koristiti (objašnjeno s primjerima).

Započnimo!

Što je neposredni prozor u programu Excel VBA?

Neposredni prozor dio je VB uređivača koji možete koristiti za neke brze stvari.

Na primjer, ako imate radnu knjigu s nekim skrivenim radnim listovima i želite brzo znati broj ukupnih radnih listova, to možete učiniti u nekoliko sekundi pomoću prozora Neposredno.

Neposredni prozor čini puno više (kao što ćete vidjeti kasnije u ovom vodiču). No, za početak, zamislimo samo trenutni prozor kao alat koji će vam pomoći ubrzati rad u programu Excel VBA.

Gdje pronaći neposredni prozor?

Kad otvorite Excel VB-Editor, možda ćete već vidjeti neposredni prozor kao dio VB uređivača. A ako ga već ne vidite, lako ga možete prikazati.

U nastavku su navedeni koraci za otvaranje VB Editor -a i vidljivost neposrednog prozora:

  1. Kliknite karticu "Developer" na vrpci programa Excel (ako ne vidite karticu Developer, kliknite ovdje da biste saznali kako je dobiti)
  2. U grupi kodova kliknite "Visual Basic". Ovo će otvoriti VB Editor
  3. U VB Editor -u kliknite opciju ‘View’ u izborniku
  4. Kliknite na Neposredni prozor. Time će se trenutni prozor pojaviti u VB Editoru.

Ako vam je ugodnije s prečacima, u nastavku su neki od njih kako biste ubrzali gore navedene korake:

  • Da biste otvorili VB Editor - ALT + F11 (ovo funkcionira čak i ako nemate karticu Developer na vrpci)
  • Za prikaz neposrednog prozora - Control + G (koristite ovaj VB Editor je otvoren)

Primjeri korištenja neposrednog prozora u Excelu VBA

Sada kada znate gdje možete pronaći neposredni prozor, pogledajmo neke sjajne primjere gdje ga možete koristiti pri radu s Excelom VBA.

Dobijte informacije o datotekama/radnim bilježnicama

‘Neposredni prozor’ mjesto je na kojem možete postavljati pitanja o radnim bilježnicama i odmah će vam dati odgovor.

Na primjer, pretpostavimo da imate radnu knjigu i želite znati koliko listova ima u radnoj knjizi, možete upisati donji kod u neposredni prozor i pritisnuti tipku enter.

? ActiveWorkbook.Sheets.Count

To će vam odmah reći ukupan broj listova u aktivnoj radnoj knjizi.

To može biti korisno ako imate radnu knjigu koja ima puno listova i ne možete je ručno prebrojati (ili ne želite) ili ako imate radnu knjigu u kojoj postoje skriveni listovi i želite znati ukupan broj računati.

The? (upitnik) treba se koristiti prije upita kako bi VBA razumio da postavljate pitanje. Ako ne koristite ovaj znak pitanja, trenutni prozor neće vam dati detalje/odgovor.

Ovo je doista jednostavan primjer gdje vam neposredni prozor daje neke informacije i štedi vrijeme.

Ispod je još nekoliko primjera:

Da biste dobili naziv aktivne radne knjige

? ActiveWorkbook.Name

Da biste dobili naziv aktivnog lista

? Aktivna tablica.Ime

Da biste dobili put do radne knjige (adresa na kojoj je spremljena)

? ActiveWorkbook.Path

Dakle, ako trebate nešto o objektu (poput radne knjige, listova, grafikona, oblika, raspona itd.), Možete upotrijebiti neposredni prozor za brzo dobivanje ovih podataka.

Dobijte Debug.Print informacije

U Excelu VBA, Debug.Print se koristi za trenutno prikazivanje vrijednosti varijable u neposrednom prozoru.

Na primjer, donji kôd bi odmah prikazao poruku "Dobro jutro" u neposrednom prozoru.

Sub DisplayMessage () Otklanjanje pogrešaka. Ispis "Dobro jutro" Kraj podv

Možete koristiti redak Debug.Print u svom kodu za brzo dobivanje nekih podataka u neposrednom prozoru ili za uklanjanje pogrešaka u kodu.

Na primjer, ako želite dobiti nazive svih listova u radnoj knjizi, možete upotrijebiti donji kod:

Sub GetSheetNames () Za svaki sh u ActiveWorkbook.Sheets Debug.Print sh.Name Next sh End Sub

Gornji kôd prolazi kroz svaki list u aktivnoj radnoj knjizi i daje ime u neposrednom prozoru.

Debug.Print je korisna tehnika za ispravljanje pogrešaka u vašem kodu. Na primjer, ako pokrećete petlju i želite vidjeti koliko je puta petlja pokrenuta, jednostavno možete postaviti redak Debug.Print koji jednostavno prikazuje povećavajuće brojeve pri pokretanju svake petlje.

Ako koristite Ispravljanje ispisa da biste otklonili pogreške u kodu, ne zaboravite ga ukloniti kad završite.

Pokretanje makronaredbe (ili funkcije)

Iako postoje različiti načini za pokretanje makronaredbi u Excelu, jedan od brzih načina je korištenje neposrednog prozora.

Da biste pokrenuli makro, sve što trebate učiniti je unijeti naziv makronaredbe u neposredni prozor i pritisnuti tipku enter (pokazivač bi trebao biti na kraju naziva makronaredbe da bi ovo funkcioniralo).

Dolje je primjer, gdje čim unesete naziv makronaredbe u neposrednom prozoru, ona pokreće kôd (gdje kôd prikazuje poruku "Dobro jutro" u neposrednom prozoru).

To može biti korisno ako imate kôd i želite provjeriti radi li očekivano ili ne. Možete imati jedan ili više redaka za ispravljanje pogrešaka. Ispišite u kodu i pokrenite makro iz neposrednog prozora.

Odmah će vam pokazati vrijednosti u neposrednom prozoru i možete provjeriti radi li sve u redu ili ne.

Također možete koristiti neposredni prozor za izvršavanje prilagođenih funkcija.

Na primjer, u donjem primjeru je stvorena funkcija za provjeru je li broj paran ili neparan. Ovu funkciju možete pokrenuti iz neposrednog prozora upisivanjem funkcije s potrebnim argumentom. U ovom slučaju morate koristiti upitnik jer ga tražite da ne vrati vrijednost pohranjenu u funkciji.

Izvršite red koda (ili više redova koda)

U neposrednom prozoru možete pokrenuti i liniju koda (ili više redaka kodova).

Najbolji dio ovoga je što možete jednostavno otvoriti neposredni prozor, pokrenuti kôd i zatvoriti (za razliku od makronaredbe koju morate staviti u prozor modula, a zatim izvršiti).

Slučaj upotrebe u kojem ovo može biti korisno je kada želite brzo otkriti sve listove u radnoj knjizi.

Ispod je kôd koji možete postaviti u neposredni prozor da biste otkrili sve listove u radnoj knjizi. Postavite kursor na kraj retka i čim pritisnete tipku enter, otkrit će se svi listovi.

Za svaki list u ovoj radnoj svesci. Listovi: List.Visible = Istina: Sljedeći list

Imajte na umu da, iako ovo izgleda kao jedan redak koda, sastoji se od tri dijela.

Svaki je dio odvojen znakom: (dvotočka), koji djeluje poput prijeloma retka. To vam omogućuje da koristite petlju Za sljedeće u neposrednom prozoru da prođete kroz svaki list i promijenite vidljivo svojstvo u TRUE (što otkriva sve skrivene listove).

Dobijte varijabilne vrijednosti

Kad počnete stvarati složene VBA kodove, morali biste se osloniti na varijable da biste obavili posao.

Varijabla je nešto što ima vrijednost i ta se vrijednost može promijeniti kada se kôd izvodi. Pomoću neposrednog prozora možete provjeriti ove vrijednosti varijabli.

Dolje je jednostavan kod koji daje zbroj prvih 10 pozitivnih cijelih brojeva i prikazuje rezultat u neposrednom prozoru.

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

Čim pokrenete ovaj kôd, u neposrednom prozoru vidjet ćete donji rezultat. Ovo vam odmah govori da kod radi dobro i daje očekivani rezultat.

U slučaju da ne daje očekivane rezultate, možete otkloniti pogreške u kodu.

Mnogi ljudi koriste okvir za poruke prilikom ispravljanja grešaka u kodu. Iako radi dobro, smatram ga pomalo nametljivim jer me vodi u radnu knjigu programa Excel i prikazuje okvir s porukom. S druge strane, upotreba neposrednog prozora za ispravljanje pogrešaka mnogo je glatkija i drži me u samom uređivaču Visual Basica.

Napomena: Ako radite sa složenim kodom i imate više varijabli koje morate pratiti, bolje je koristiti prozor za gledanje. Prozor za gledanje omogućuje vam dodavanje varijable i tada možete vidjeti kako se ta varijabla mijenja u stvarnom vremenu (ili dok koračate kroz kôd).

Postavi vrijednost varijable prilikom ispravljanja pogrešaka

Ovo je malo napredna upotreba prozora Immediate, ali ako ga koristite, može vam uštedjeti mnogo vremena prilikom ispravljanja pogrešaka u kodu.

Pomoću neposrednog prozora možete postaviti vrijednost varijable dok pokrećete kôd u načinu otklanjanja pogrešaka (gdje postavljate točku prekida tako da se kôd ne izvršava u potpunosti - ali do određenog retka).

Na primjer, ako imate petlju koja se izvodi 10 puta i želite provjeriti što se događa kada se petlja izvršava osmi put, ne morate koračati kroz petlju sedam puta da biste došli do osme iteracije. Možete jednostavno dodati točku prekida prije petlje i promijeniti varijablu petlje u 8. Sada, kada pokrenete kôd, pokazat će vam što se događa kada se petlje pokrenu 8. put.

Ovo postaje puno korisnije kada pišete složene kodove i želite otkloniti pogreške u određenim petljama.

Pretpostavimo da imate kôd kako je prikazano u nastavku:

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

Gornji kôd jednostavno navodi nazive listova svih listova u radnoj knjizi u neposrednom prozoru.

Ako ne želite navesti imena svih listova, već samo listova nakon 10. lista, možete postaviti točku prekida u drugi redak petlje (tako da se ništa nakon tog retka ne izvrši), a zatim promijeniti varijabla 'i' do 11.

Da biste promijenili naziv varijable u neposrednom prozoru, unesite sljedeći redak:

i = 11

To će osigurati da se prvih 10 puta petlje zanemari i da je vrijednost varijable postavljena na 11.

Spajanje/otključavanje neposrednog prozora

Možete imati trenutni prozor usidren u VB Editor - što znači da ostaje na jednom mjestu u VB Editoru te se s njim pomiče i mijenja.

Također ga možete otključati, što znači da je neovisan o VB Editoru i da se može premjestiti kao samostalan prozor.

Dolje je prikazano kako možete promijeniti postavke priključne stanice za neposredni prozor:

  1. Pritisnite opciju Alati u izborniku u VB Editoru
  2. Kliknite na "Opcije"
  3. U dijaloškom okviru Mogućnosti kliknite zadnju karticu - Priključivanje
  4. Provjerite opciju Neposredni prozor da biste ga mogli spojiti i poništite odabir kako ga ne bi bilo moguće spojiti.
  5. Pritisnite U redu

Alternativno, ako je neposredni prozor vidljiv, također možete kliknuti desnom tipkom miša i promijeniti svojstvo za njegovo spajanje.

Priključivanje znači da bi neposredni prozor postao dio postojećeg prozora postavljanjem na određena mjesta, poput lijeve strane prozora ili pri dnu. To omogućuje usidrenim prozorima da se kreću i zajedno mijenjaju veličinu.

Neposredni prozor se ne prikazuje - evo nekoliko načina da ga dobijete

Za to se može dogoditi više razloga.

Najčešći razlog zašto ne vidite neposredni prozor je taj što nije postao vidljiv. Možda prema zadanim postavkama nije vidljiv, a da bi se pojavio, morate otići na opciju Pogled u izborniku i kliknuti na opciju Neposredni prozor. Time ćete biti sigurni da je vidljiv u VB Editoru.

Također možete koristiti tipkovnicu Control + G za prikaz neposrednog prozora. Koristite ovaj tipkovnički prečac dok ste u VB Editoru.

Drugi razlog zašto ne vidite neposredni prozor je taj što je minimiziran sada toliko zatvoren da ga ne možete vidjeti (kako je ovdje prijavljeno). Samo brzo skenirajte i provjerite vidite li negdje mali plavi/crveni kvadrat. Možete postaviti pokazivač iznad njega i vidjet ćete neku opciju za promjenu njegove veličine.

Ako uopće ne vidite neposredni prozor, evo nešto što je uspjelo mnogim ljudima (to se često događa zbog promjena rezolucije zaslona):

  1. Otvorite VB Editor
  2. Pritisnite Ctrl-G da biste usmjerili fokus na neposredni prozor (ili kliknite opciju Prikaz u izborniku, a zatim kliknite na neposredni prozor)
  3. Držite tipku ALT, a zatim pritisnite tipku razmaknice. Ovo će prikazati padajuće opcije za neposredni prozor.
  4. Pritisnite M (za premještanje)
  5. Pomaknite prozor pomoću tipki sa strelicama
  6. Kad shvatite gdje se nalazi, povećajte ga

Dobio sam ovo s foruma ovdje i također sam primijetio da se isto predlaže kao rješenje za VBA neposredni prozor koji se ne prikazuje.

Još jedna stvar koju možete pokušati je učiniti da se neposredni prozor ne može zaključati (idite na Alati -> Opcije -> Priključivanje i poništite opciju neposrednog prozora). Nekima je ovo uspjelo.

Možda će vam se svidjeti i sljedeći članci:

  • Excel osobna makro radna knjiga | Spremanje i korištenje makronaredbi u svim radnim knjigama
  • Excel VBA petlje: Za sljedeće, Učinite dok, Uradite do, Za svaku (s primjerima)
  • Rad s radnim listovima pomoću programa Excel VBA
  • Stvaranje korisnički definirane funkcije (UDF) u Excelu VBA

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave