Välitön ikkuna voi olla hyödyllinen työkalu käytettäessä VBA: ta Excelissä.
Välitön -ikkunan avulla voit tehdä nopeasti esimerkiksi seuraavia asioita:
- Hae tietoja Excel -tiedostoista (kuten työkirjan arkkien määrä tai työkirjan nimi)
- Hae virheenkorjaus. Tulosta tiedot nopeasti
- Suorita koodirivi sekunneissa
- Makron suorittaminen (tai funktion kutsuminen)
- Hae tietoja muuttujista (tai aseta arvo tai muuttujat)
Vaikka sinun ei tarvitse käyttää välitöntä ikkunaa työskennelläksesi VBA: n kanssa Excelissä, sen hyvä käyttö voi tehdä sinusta paljon tehokkaampaa.
Tässä opetusohjelmassa käsitän kaiken, mitä sinun tarvitsee tietää välittömästä ikkunasta ja miten sitä käytetään parhaiten (selitetty esimerkeillä).
Aloitetaan!
Mikä on välitön ikkuna Excel VBA: ssa?
Välitön ikkuna on osa VB -editoria, jonka avulla voit tehdä nopeita asioita.
Esimerkki: jos sinulla on työkirja, jossa on piilotettuja laskentataulukoita ja haluat nopeasti tietää laskentataulukoiden kokonaismäärän, voit tehdä sen muutamassa sekunnissa Välitön -ikkunan avulla.
Välitön ikkuna tekee paljon enemmän (kuten näet myöhemmin tässä opetusohjelmassa). Mutta aluksi ajatellaan vain välitöntä ikkunaa työkaluna, joka nopeuttaa työtäsi Excel VBA: ssa.
Mistä löytää välitön ikkuna?
Kun avaat Excelin VB-editorin, saatat jo nähdä välittömän ikkunan osana VB-editoria. Ja jos et näe sitä jo, voit helposti saada sen näkymään.
Alla on vaiheet VB -editorin avaamiseksi ja välittömän ikkunan näyttämiseksi:
- Napsauta Excel -valintanauhan "Kehittäjä" -välilehteä (jos et näe kehittäjä -välilehteä, napsauta tätä saadaksesi ohjeet sen saamiseen)
- Napsauta koodiryhmässä Visual Basic. Tämä avaa VB -editorin
- Napsauta VB -editorissa valikosta Näytä -vaihtoehtoa
- Napsauta Välitön ikkuna. Tämä tuo välittömän ikkunan näkyviin VB -editorissa.
Jos pidät pikakuvakkeista paremmin, alla on muutamia nopeuttaaksesi yllä olevia vaiheita:
- VB Editorin avaaminen - ALT + F11 (tämä toimii, vaikka valintanauhassa ei olisi kehittäjä -välilehteä)
- Välitön ikkuna näytetään - Control + G. (käytä tätä VB Editor on auki)
Esimerkkejä välittömän ikkunan käyttämisestä Excel VBA: ssa
Nyt kun tiedät, mistä välitön ikkuna löytyy, katsotaan joitain mahtavia esimerkkejä siitä, miten voit käyttää sitä työskennellessäsi Excel VBA: n kanssa.
Hanki tietoa tiedostoista/työkirjoista
"Välitön ikkuna" on paikka, jossa voit esittää kysymyksiä työkirjoista ja se antaa sinulle vastauksen heti.
Oletetaan esimerkiksi, että sinulla on työkirja ja haluat tietää, kuinka monta arkkia työkirjassa on, voit kirjoittaa alla olevan koodin välittömään ikkunaan ja painaa Enter -näppäintä.
ActiveWorkbook.Sheets.Count
Tämä kertoo heti aktiivisen työkirjan arkkien kokonaismäärän.
Tästä voi olla hyötyä, kun sinulla on työkirja, jossa on paljon arkkeja etkä voi laskea sitä manuaalisesti (tai et halua), tai kun sinulla on työkirja, jossa on piilotettuja arkkeja ja haluat tietää niiden kokonaismäärän. Kreivi.
? (kysymysmerkki) on tarkoitus käyttää ennen kyselyä, jotta VBA voi ymmärtää, että esität kysymyksen. Jos et käytä tätä kysymysmerkkiä, välitön ikkuna ei anna sinulle yksityiskohtia/vastausta.Tämä on todella yksinkertainen esimerkki, jossa Välitön ikkuna antaa sinulle tietoja ja säästää aikaa.
Alla muutama esimerkki:
Aktiivisen työkirjan nimen hakeminen
ActiveWorkbook.Name
Aktiivisen taulukon nimen hakeminen
Toimintataulukko Nimi
Työkirjan polun (osoite, johon se on tallennettu) hakeminen
ActiveWorkbook.Path
Joten jos tarvitset jotain kohteesta (kuten työkirja, taulukot, kaaviot, muodot, alueet jne.), Voit käyttää näitä tietoja nopeasti käyttämällä ikkunaa.
Hae virheenkorjaustulostustietoja
Excel VBA: ssa Debug.Print -toimintoa käytetään näyttämään muuttujan arvo välittömästi ikkunassa.
Esimerkiksi alla oleva koodi näyttää välittömästi viestin "Hyvää huomenta" välittömässä ikkunassa.
Sub DisplayMessage () Debug.Print "Good Morning" End Sub
Voit käyttää koodin Debug.Print -riviä saadaksesi nopeasti tietoja välittömästä ikkunasta tai korjataksesi koodin.
Jos esimerkiksi haluat saada työkirjan kaikkien arkkien nimet, voit käyttää alla olevaa koodia:
Osa GetSheetNames () Kullekin ActiveWorkbook.Sheets Debug -painikkeelle. Tulosta sh.Name Seuraava sh End Sub
Yllä oleva koodi kulkee aktiivisen työkirjan jokaisen taulukon läpi ja antaa nimen välittömässä ikkunassa.
Debug.Print on hyödyllinen tekniikka koodin virheenkorjaukseen. Jos esimerkiksi käytät silmukkaa ja haluat nähdä, kuinka monta kertaa silmukka suoritettiin, voit yksinkertaisesti sijoittaa Debug.Print -rivin, joka näyttää yksinkertaisesti kasvavat numerot, kun jokainen silmukka suoritetaan.
Jos käytät Debug.Print Jos haluat korjata koodia, muista poistaa se, kun olet valmis.
Makron (tai toiminnon) suorittaminen
Vaikka Excelissä on useita tapoja suorittaa makro, yksi nopeista tavoista on käyttää välitöntä ikkunaa.
Makron suorittamiseksi sinun tarvitsee vain kirjoittaa makron nimi välittömään ikkunaan ja painaa enter -näppäintä (kohdistimen tulee olla makron nimen lopussa, jotta tämä toimii).
Alla on esimerkki siitä, että heti kun kirjoitat makron nimen välittömään ikkunaan, se suorittaa koodin (jossa koodi näyttää viestin "Hyvää huomenta" välittömässä ikkunassa).
Tästä voi olla hyötyä, kun sinulla on koodi ja haluat tarkistaa, toimiiko se odotetusti vai ei. Sinulla voi olla yksi tai useampi virheenkorjaus. Tulosta koodiin rivit ja suorita makro välittömästä ikkunasta.
Se näyttää heti arvot välittömässä ikkunassa ja voit tarkistaa, toimiiko kaikki hyvin vai ei.
Voit myös käyttää välitöntä ikkunaa mukautettujen toimintojen suorittamiseen.
Esimerkiksi alla olevassa esimerkissä luodaan funktio, joka tarkistaa, onko numero parillinen vai pariton. Voit suorittaa tämän toiminnon välittömästä ikkunasta kirjoittamalla funktion tarvittavalla argumentilla. Sinun on käytettävä kysymysmerkkiä tässä tapauksessa, kun pyydät sitä palauttamaan funktioon tallennetun arvon.
Suorita koodirivi (tai useita koodirivejä)
Välittömässä ikkunassa voit myös suorittaa koodirivin (tai useita koodirivejä).
Parasta tässä on, että voit yksinkertaisesti avata välittömän ikkunan, suorittaa koodin ja sulkea (toisin kuin makro, joka sinun on asetettava moduuli -ikkunaan ja suoritettava sitten).
Tästä voi olla hyötyä silloin, kun haluat nopeasti näyttää kaikki työkirjan arkit.
Alla on koodi, jonka voit sijoittaa välittömään ikkunaan ja näyttää kaikki työkirjan arkit. Aseta kohdistin rivin loppuun ja heti kun painat Enter -näppäintä, se näyttää kaikki taulukot.
Jokaiselle tämän työkirjan taulukolle. Arkit: Sheet.Visible = True: Seuraava arkki
Huomaa, että vaikka tämä näyttää yhdeltä koodiriviltä, se koostuu kolmesta osasta.
Jokainen osa on erotettu: (kaksoispiste), joka toimii kuin rivinvaihto. Tämän avulla voit käyttää ikkunan For Next -silmukkaa läpi jokaisen taulukon ja muuttaa näkyvän ominaisuuden TRUE (joka näyttää piilotetun taulukon).
Hanki muuttuvat arvot
Kun aloitat monimutkaisten VBA -koodien luomisen, sinun on luotettava muuttujiin työn tekemiseksi.
Muuttuja on jotain, jolla on arvo, ja tämä arvo voi muuttua koodin ollessa käynnissä. Voit tarkistaa muuttujien arvot välittömän ikkunan avulla.
Alla on yksinkertainen koodi, joka antaa 10 ensimmäisen positiivisen kokonaisluvun summan ja näyttää tuloksen välittömässä ikkunassa.
Sub AddFirstTenNumbers () Dim Var kokonaislukuna Dim i kokonaislukuna Dim k kokonaislukuna I = 1-10 k = k + i Seuraava i Debug.Print i, k End Sub
Heti kun suoritat tämän koodin, näet alla olevan tuloksen välittömässä ikkunassa. Tämä kertoo heti, että koodi toimii hyvin ja antaa odotetun tuloksen.
Jos se ei anna odotettuja tuloksia, voit korjata koodin.
Monet ihmiset käyttävät viestiruutua koodin virheenkorjauksen aikana. Vaikka se toimii hyvin, minusta se on hieman häiritsevää, koska se vie minut Excel -työkirjaan ja näyttää viestiruudun. Toisaalta välittömän ikkunan käyttäminen virheenkorjaukseen on paljon sujuvampaa ja pitää minut itse Visual Basic -editorissa.
Huomautus: Jos käytät monimutkaista koodia ja sinulla on useita muuttujia, joita sinun on seurattava, on parempi käyttää katseluikkunaa. Katseluikkunan avulla voit lisätä muuttujan ja nähdä, kuinka muuttuja muuttuu reaaliajassa (tai kun astut koodin läpi).Aseta muuttujan arvo virheenkorjauksen aikana
Tämä on Heti -ikkunan hieman edistynyt käyttö, mutta jos käytät sitä, se voi säästää paljon aikaa koodin virheenkorjauksessa.
Voit käyttää muuttujan arvoa välittömän ikkunan avulla, kun suoritat koodia virheenkorjaustilassa (jossa asetat katkaisupisteen, jotta koodi ei toimi kokonaan - mutta tietylle riville asti).
Jos sinulla on esimerkiksi 10 -kertainen silmukka ja haluat tarkistaa, mitä tapahtuu, kun silmukka suoritetaan kahdeksannen kerran, sinun ei tarvitse astua silmukan läpi seitsemän kertaa päästäksesi kahdeksanteen iteraatioon. Voit yksinkertaisesti lisätä katkaisupisteen silmukan eteen ja muuttaa silmukan muuttujan arvoksi 8. Nyt, kun suoritat koodin, se näyttää sinulle, mitä tapahtuu, kun silmukat suoritetaan kahdeksannen kerran.
Tästä on paljon enemmän hyötyä, kun kirjoitat monimutkaisia koodeja ja haluat korjata tiettyjä silmukoita.
Oletetaan, että sinulla on alla kuvattu koodi:
Sub UnhideSheets () For i = 1 To Workheets.Count Debug.Print Sheets (i). Name Next i End Sub
Yllä oleva koodi luettelee yksinkertaisesti työkirjan kaikkien arkkien arkkien nimet välittömässä ikkunassa.
Jos et halua luetella kaikkien arkkien nimiä, vaan vain 10. arkin jälkeiset taulukot, voit sijoittaa katkaisupisteen silmukan toiselle riville (jotta mitään tämän rivin jälkeen ei suoriteta) ja muuttaa sitten muuttuja "i" 11.
Jos haluat muuttaa muuttujan nimen välittömässä ikkunassa, kirjoita seuraava rivi:
i = 11
Näin varmistetaan, että silmukan ensimmäiset 10 kertaa jätetään huomiotta ja muuttujan arvoksi asetetaan 11.
Välittömän ikkunan telakointi/irrotus
Voit kiinnittää ikkunan välittömästi VB Editoriin - mikä tarkoittaa, että se pysyy yhdessä paikassa VB Editorissa ja liikkuu ja kokoa sen mukana.
Voit myös poistaa sen telakointiasemasta, mikä tarkoittaa, että se on riippumaton VB-editorista ja sitä voidaan siirtää erillisenä ikkunana.
Alla voit muuttaa välittömän ikkunan telakointiasetuksia:
- Napsauta Työkalut -vaihtoehtoa VB -editorin valikossa
- Napsauta "Asetukset"
- Napsauta Asetukset -valintaikkunan viimeistä välilehteä - Telakointi
- Valitse Välitön ikkuna -vaihtoehto, jos haluat tehdä siitä telakoitavan, ja poista sen valinta, jotta se ei ole telakoitavissa.
- Napsauta OK
Vaihtoehtoisesti, jos välitön ikkuna on näkyvissä, voit myös napsauttaa hiiren kakkospainikkeella ja muuttaa sen telakoitavaa ominaisuutta.
Telakoitava tarkoittaa, että välittömästä ikkunasta tulee osa nykyistä ikkunaa asettamalla se tietyille paikoille, kuten ikkunan vasemmalle puolelle tai alareunaan. Tämä mahdollistaa telakoitujen ikkunoiden liikkumisen ja koon yhdessä.
Välitön ikkuna ei näy - tässä on joitain tapoja saada se
Syitä tähän voi olla useita.
Yleisin syy siihen, että et näe välitöntä ikkunaa, on se, että se ei ole tullut näkyviin. Se ei ehkä ole oletuksena näkyvissä, ja jotta se näyttäisi, sinun on siirryttävä valikon Näytä -vaihtoehtoon ja napsautettava Välitön ikkuna -vaihtoehtoa. Tämä varmistaa, että se näkyy VB -editorissa.
Voit myös avata välittömän ikkunan näppäimistöllä Control + G. Käytä tätä pikanäppäintä, kun olet VB -editorissa.
Toinen syy, miksi et ehkä näe välitöntä ikkunaa, on se, että se on minimoitu, ja se on nyt niin suljettu, ettet näe sitä (kuten täällä on raportoitu). Suorita vain nopea skannaus ja tarkista, näetkö jonkun pienen sinisen/punaisen neliön. Voit viedä kohdistimen sen päälle ja näet jonkin vaihtoehdon sen koon muuttamiseksi.
Jos et näe välitöntä ikkunaa, tässä on jotain, joka on toiminut monille (tämä tapahtuu usein näytön resoluution muutosten vuoksi):
- Avaa VB Editor
- Painamalla Ctrl-G voit keskittyä välittömään ikkunaan (tai napsauta valikosta Näytä-vaihtoehtoa ja napsauta sitten välitöntä ikkunaa)
- Pidä ALT -näppäintä painettuna ja paina sitten välilyöntinäppäintä. Tämä näyttää välittömän ikkunan avattavat vaihtoehdot.
- Paina M (siirrä)
- Siirrä ikkunaa nuolinäppäimillä
- Kun olet selvittänyt, missä se on, tee siitä isompi
Sain tämän täältä foorumilta ja huomasin myös, että samaa ehdotetaan ratkaisuksi VBA: n välittömään ikkunaan, joka ei näy.
Toinen asia, jota voit kokeilla, on tehdä ikkunasta telakoimaton (siirry kohtaan Työkalut -> Asetukset -> Telakointi ja poista valinta ikkunavaihtoehdosta). Tämä on toiminut joillekin ihmisille.
Saatat pitää myös seuraavista artikkeleista:
- Excel Personal Macro -työkirja | Tallenna ja käytä makroja kaikissa työkirjoissa
- Excel VBA -silmukat: Toista seuraavaksi, tee aikaa, tee kunnes, jokaiselle (esimerkkien avulla)
- Laskentataulukoiden käyttäminen Excel VBA: n avulla
- Käyttäjän määrittämän funktion (UDF) luominen Excel VBA: ssa