“Tūlītējs logs” var būt noderīgs rīks darbam ar VBA programmā Excel.
Tūlītējais logs ļauj ātri veikt tādas darbības kā:
- Iegūstiet informāciju par Excel failiem (piemēram, lapu skaitu darbgrāmatā vai darbgrāmatas nosaukumu)
- Iegūstiet atkļūdošanu. Ātri izdrukājiet informāciju
- Izpildiet koda rindu sekundēs
- Palaidiet makro (vai izsauciet funkciju)
- Iegūstiet informāciju par mainīgajiem (vai iestatiet vērtību vai mainīgos)
Lai gan jums nav jāizmanto tūlītējais logs, lai strādātu ar VBA programmā Excel, zinot, kā to labi izmantot, jūs varat kļūt daudz efektīvāks.
Šajā apmācībā es apskatīšu visu, kas jums jāzina par tūlītējo logu un kā to vislabāk izmantot (paskaidrots ar piemēriem).
Sāksim!
Kas ir tūlītējais logs programmā Excel VBA?
Tūlītējais logs ir daļa no VB redaktora, kuru varat izmantot, lai veiktu dažas ātras darbības.
Piemēram, ja jums ir darbgrāmata ar dažām slēptām darblapām un vēlaties ātri uzzināt kopējo darblapu skaitu, varat to izdarīt dažu sekunžu laikā, izmantojot tūlītējo logu.
Tūlītējais logs dara daudz vairāk (kā redzēsit vēlāk šajā apmācībā). Bet vispirms iedomāsimies tūlītēju logu kā rīku, kas palīdzēs paātrināt darbu programmā Excel VBA.
Kur atrast tūlītējo logu?
Atverot Excel VB redaktoru, iespējams, jau redzēsit tūlītējo logu kā daļu no VB redaktora. Un, ja jūs to vēl neredzat, varat to viegli parādīt.
Tālāk ir norādītas darbības, lai atvērtu VB redaktoru un padarītu redzamu tūlītējo logu:
- Excel lentē noklikšķiniet uz cilnes Izstrādātājs (ja neredzat izstrādātāja cilni, noklikšķiniet šeit, lai uzzinātu, kā to iegūt)
- Kodu grupā noklikšķiniet uz “Visual Basic”. Tas atvērs VB redaktoru
- VB redaktorā izvēlnē noklikšķiniet uz opcijas Skatīt
- Noklikšķiniet uz tūlītēja loga. Tādējādi tūlītējais logs tiks parādīts VB redaktorā.
Ja jums ir ērtāk izmantot īsceļus, zemāk ir daži, lai paātrinātu iepriekš minētās darbības.
- Lai atvērtu VB redaktoru - ALT + F11 (tas darbojas pat tad, ja lentē nav cilnes Izstrādātājs)
- Lai parādītu tūlītējo logu - Control + G. (izmantojiet šo, ir atvērts VB redaktors)
Tūlītēja loga izmantošanas piemēri programmā Excel VBA
Tagad, kad jūs zināt, kur atrast tūlītējo logu, apskatīsim dažus satriecošus piemērus, kā to izmantot, strādājot ar Excel VBA.
Iegūstiet informāciju par failiem/darbgrāmatām
“Tūlītējais logs” ir vieta, kur varat uzdot jautājumus par darbgrāmatām, un tā sniegs jums atbildi uzreiz.
Piemēram, pieņemsim, ka jums ir darbgrāmata un vēlaties uzzināt, cik lapu ir darbgrāmatā, tūlītējā logā varat ierakstīt zemāk esošo kodu un nospiest taustiņu Enter.
? ActiveWorkbook.Sheets.Count
Tas uzreiz parādīs kopējo lapu skaitu aktīvajā darbgrāmatā.
Tas var būt noderīgi, ja jums ir darbgrāmata, kurā ir daudz lapu un nevarat to saskaitīt manuāli (vai nevēlaties), vai ja jums ir darbgrāmata, kurā ir paslēptas lapas un vēlaties uzzināt kopējo skaitu saskaitīt.
Vai? (jautājuma zīme) ir jāizmanto pirms vaicājuma, lai VBA varētu saprast, ka jūs uzdodat jautājumu. Ja neizmantojat šo jautājuma zīmi, tūlītējais logs nesniegs jums informāciju/atbildi.Šis ir patiešām vienkāršs piemērs, kurā tūlītējais logs sniedz jums informāciju un ietaupa laiku.
Tālāk ir minēti vēl daži piemēri:
Lai iegūtu aktīvās darbgrāmatas nosaukumu
? ActiveWorkbook.Name
Lai iegūtu aktīvās lapas nosaukumu
Aktivitātes lapa. Nosaukums
Lai iegūtu darbgrāmatas ceļu (adresi, kur tā ir saglabāta)
? ActiveWorkbook.Path
Tātad, ja jums ir nepieciešams kaut kas par objektu (piemēram, darbgrāmata, lapas, diagrammas, formas, diapazons utt.), Varat izmantot tūlītējo logu, lai ātri iegūtu šo informāciju.
Iegūt atkļūdošanu. Drukāt informāciju
Programmā Excel VBA Debug.Print tiek izmantots, lai tūlītējā logā uzreiz parādītu mainīgā vērtību.
Piemēram, zemāk redzamais kods tūlītējā logā uzreiz parādīs ziņojumu “Labrīt”.
Sub DisplayMessage () Debug.Print "Labrīt" beigu apakš
Varat izmantot kodu Debug.Print, lai ātri iegūtu datus tūlītējā logā vai atkļūdotu kodu.
Piemēram, ja vēlaties iegūt visu darbgrāmatas lapu nosaukumus, varat izmantot tālāk norādīto kodu.
Apakšdaļa GetSheetNames () katrai shēmai ActiveWorkbook.Sheets Debug. Izdrukāt sh.Name Next sh End Sub
Iepriekš minētais kods iet caur katru aktīvās darbgrāmatas lapu un dod vārdu tiešajā logā.
Atkļūdošana. Izdruka ir noderīga metode koda atkļūdošanai. Piemēram, ja jūs izmantojat cilpu un vēlaties redzēt, cik reizes cikls tika izpildīts, varat vienkārši ievietot atkļūdotāju. Drukāt rindu, kas vienkārši parāda pieaugošos skaitļus, kad katra cilpa darbojas.
Ja jūs izmantojat Atkļūdot. Drukāt lai atkļūdotu kodu, neaizmirstiet to noņemt, kad esat pabeidzis.
Palaidiet makro (vai funkciju)
Lai gan programmā Excel ir dažādi makro palaišanas veidi, viens no ātrajiem veidiem ir tūlītējā loga izmantošana.
Lai palaistu makro, viss, kas jums jādara, ir ievadīt makro nosaukumu tūlītējā logā un nospiest taustiņu Enter (lai tas darbotos, kursoram jābūt makro nosaukuma beigās).
Tālāk ir sniegts piemērs, kurā, tiklīdz tūlītējā logā ievadāt makro nosaukumu, tas palaiž kodu (kur kods tiešajā logā parāda ziņojumu “Labrīt”).
Tas var būt noderīgi, ja jums ir kods un vēlaties pārbaudīt, vai tas darbojas kā paredzēts. Jums var būt viena vai vairākas atkļūdošanas iespējas. Izdrukājiet rindiņas kodā un palaidiet makro no tūlītējā loga.
Tas uzreiz parādīs vērtības tūlītējā logā, un jūs varat pārbaudīt, vai viss darbojas labi vai nē.
Varat arī izmantot tūlītējo logu, lai izpildītu pielāgotas funkcijas.
Piemēram, zemāk redzamajā piemērā tiek izveidota funkcija, lai pārbaudītu, vai skaitlis ir pāra vai nepāra. Šo funkciju var palaist no tiešā loga, ierakstot funkciju ar nepieciešamo argumentu. Šajā gadījumā jums jāizmanto jautājuma zīme, kad jūs lūdzat, lai tā neatgriež funkcijā saglabāto vērtību.
Izpildiet koda rindu (vai vairākas koda rindas)
Izmantojot tūlītēju logu, varat arī palaist koda rindu (vai vairākas kodu rindas).
Labākais šajā jautājumā ir tas, ka jūs varat vienkārši atvērt tūlītējo logu, palaist kodu un aizvērt (atšķirībā no makro, kas jums jāievieto moduļa logā un pēc tam jāizpilda).
Tas var būt noderīgi, ja vēlaties ātri parādīt visas darbgrāmatas lapas.
Zemāk ir kods, kuru varat ievietot tūlītējā logā, lai parādītu visas darbgrāmatas lapas. Novietojiet kursoru rindas beigās un, tiklīdz jūs nospiedīsit ievadīšanas taustiņu, tas parādīs visas lapas.
Katrai šai darbgrāmatas lapai. Lapas: lapa. Redzams = Patiess: nākamā lapa
Ņemiet vērā: lai gan tas izskatās kā viena koda rinda, tas sastāv no trim daļām.
Katra daļa ir atdalīta ar: (kolu), kas darbojas kā līnijas pārtraukums. Tas ļauj tūlītējā logā izmantot cilni Nākamais, lai izietu cauri katrai loksnei un mainītu redzamo rekvizītu uz TRUE (kas parāda slēptās lapas).
Iegūstiet mainīgas vērtības
Sākot veidot sarežģītus VBA kodus, jums būs jāpaļaujas uz mainīgajiem, lai veiktu darbu.
Mainīgais ir kaut kas, kam ir vērtība, un šī vērtība var mainīties, kad kods darbojas. Lai pārbaudītu šīs mainīgās vērtības, varat izmantot tūlītēju logu.
Zemāk ir vienkāršs kods, kas parāda pirmo 10 pozitīvo veselu skaitļu summu un parāda rezultātu tūlītējā logā.
Sub AddFirstTenNumbers () Dim Var kā vesels skaitlis Dim i Kā vesels skaitlis Dim k Kā vesels skaitlis Attiecībā uz i = 1 līdz 10 k = k + i Next i Debug. Drukāt i, k Beigt apakšdaļu
Tiklīdz palaidīsit šo kodu, tūlītējā logā redzēsit zemāk redzamo rezultātu. Tas uzreiz norāda, ka kods darbojas labi un dod gaidīto rezultātu.
Ja tas nedod gaidītos rezultātus, varat atkļūdot kodu.
Daudzi cilvēki, atkļūdojot kodu, izmanto ziņojumu lodziņu. Lai gan tas darbojas labi, man tas šķiet nedaudz uzmācīgi, jo tas aizved mani uz Excel darbgrāmatu un parāda ziņojumu lodziņu. No otras puses, tūlītējā loga izmantošana atkļūdošanai ir daudz vienmērīgāka un ļauj man atrasties Visual Basic redaktorā.
Piezīme. Ja strādājat ar sarežģītu kodu un jums ir vairāki izsekojamie mainīgie, labāk ir izmantot skatīšanās logu. Skatīšanās logs ļauj jums pievienot mainīgo, un tad jūs varat redzēt, kā šis mainīgais mainās reāllaikā (vai, ejot cauri kodam).Atkļūdošanas laikā iestatiet mainīgo vērtību
Tas ir nedaudz uzlabots tūlītējā loga lietojums, taču, ja to izmantojat, tas var ievērojami ietaupīt laiku, atkļūdojot kodu.
Varat izmantot tūlītējo logu, lai iestatītu mainīgā vērtību, kamēr palaižat kodu atkļūdošanas režīmā (kur iestatāt pārtraukuma punktu, lai kods netiktu izpildīts pilnībā, bet līdz noteiktai rindai).
Piemēram, ja jums ir cikls, kas darbojas 10 reizes, un vēlaties pārbaudīt, kas notiek, kad cikls tiek palaists astoto reizi, jums nav septiņas reizes jāsper cilpa, lai nokļūtu astotajā atkārtojumā. Jūs varat vienkārši pievienot pārtraukuma punktu pirms cilpas un mainīt cilpas mainīgo uz 8. Tagad, palaižot kodu, tas parādīs, kas notiek, kad cilpas darbojas 8. reizi.
Tas kļūst daudz noderīgāk, ja rakstāt sarežģītus kodus un vēlaties atkļūdot noteiktas cilpas.
Pieņemsim, ka jums ir šāds kods:
Sub UnhideSheets () Attiecībā uz i = 1 uz darblapām. Saskaitīt atkļūdošanu. Izdrukāt lapas (i). Nosaukums Nākamais i Beigu apakšnodaļa
Iepriekš minētais kods vienkārši uzskaita visu darbgrāmatas lapu lapu nosaukumus tūlītējā logā.
Ja nevēlaties uzskaitīt visu lapu nosaukumus, bet tikai lapas pēc 10. lapas, varat ievietot pārtraukuma punktu cilpas otrajā rindā (lai nekas pēc šīs rindas netiktu izpildīts) un pēc tam mainīt mainīgais “i” līdz 11.
Lai mainītu mainīgā nosaukumu tūlītējā logā, ievadiet šādu rindu:
i = 11
Tas nodrošinās, ka cikla pirmās 10 reizes tiek ignorētas un jūsu mainīgā vērtība ir iestatīta uz 11.
Tūlītējā loga dokstacija/atslēgšana
Jūs varat nekavējoties pieslēgt logu VB redaktoram - tas nozīmē, ka tas paliek vienā vietā VB redaktorā un ar to pārvietojas un izmēri.
Un to var arī atvienot, kas nozīmē, ka tas nav atkarīgs no VB redaktora un to var pārvietot kā atsevišķu logu.
Tālāk ir norādīts, kā varat mainīt dokstacijas iestatījumus tūlītējam logam:
- VB redaktora izvēlnē noklikšķiniet uz opcijas Rīki
- Noklikšķiniet uz "Iespējas"
- Dialoglodziņā Opcijas noklikšķiniet uz pēdējās cilnes - Docking
- Atzīmējiet opciju Tūlītējs logs, lai padarītu to dokumentējamu, un noņemiet atzīmi no tā, lai padarītu to nedokamējamu.
- Noklikšķiniet uz Labi
Ja ir redzams tūlītējais logs, varat arī ar peles labo pogu noklikšķināt un mainīt tā dokumentējamo rekvizītu.
Dokējams nozīmē, ka tūlītējais logs kļūs par esošā loga daļu, novietojot sevi noteiktās vietās, piemēram, loga kreisajā pusē vai apakšā. Tas ļauj piestiprinātos logus pārvietot un izmērīt kopā.
Tūlītējs logs netiek rādīts - šeit ir daži veidi, kā to iegūt
Tam var būt vairāki iemesli.
Visbiežākais iemesls, kāpēc jūs neredzat tūlītēju logu, ir tas, ka tas nav kļuvis redzams. Pēc noklusējuma tas var nebūt redzams, un, lai tas tiktu parādīts, izvēlnē dodieties uz opciju Skatīt un noklikšķiniet uz opcijas Tūlītējs logs. Tas nodrošinās, ka tas ir redzams VB redaktorā.
Varat arī izmantot tastatūru Control + G, lai tiktu parādīts tūlītējais logs. Izmantojiet šo īsinājumtaustiņu, kamēr atrodaties VB redaktorā.
Vēl viens iemesls, kāpēc jūs, iespējams, neredzat tūlītējo logu, ir tas, ka tas ir samazināts līdz minimumam, tagad ir tik aizvērts, ka jūs to nevarat redzēt (kā ziņots šeit). Vienkārši veiciet ātru skenēšanu un pārbaudiet, vai kaut kur redzat mazu zilu/sarkanu kvadrātu. Jūs varat novietot kursoru virs tā, un jūs redzēsit kādu iespēju mainīt tā lielumu.
Ja jūs vispār nevarat redzēt tūlītējo logu, šeit ir kaut kas, kas ir noderējis daudziem cilvēkiem (tas bieži notiek ekrāna izšķirtspējas izmaiņu dēļ):
- Atveriet VB redaktoru
- Nospiediet Ctrl-G, lai pievērstu uzmanību tūlītējam logam (vai izvēlnē noklikšķiniet uz opcijas Skatīt un pēc tam noklikšķiniet uz tūlītējā loga)
- Turiet taustiņu ALT un pēc tam nospiediet atstarpes taustiņu. Tas parādīs tūlītējā loga nolaižamās opcijas.
- Nospiediet M (lai pārvietotos)
- Izmantojiet bulttaustiņus, lai pārvietotu logu
- Kad esat sapratis, kur tas atrodas, palieliniet to
Es to saņēmu no foruma šeit, kā arī pamanīju, ka tas pats tiek ieteikts kā risinājums, lai VBA tūlītējais logs netiktu parādīts.
Vēl viena lieta, ko varat izmēģināt, ir tūlītēja loga noņemšana (nederīga) (dodieties uz Rīki -> Opcijas -> Doks un noņemiet atzīmi no opcijas Tūlītējais logs). Dažiem cilvēkiem tas ir izdevies.
Jums varētu patikt arī šādi raksti:
- Excel personīgā makro darbgrāmata | Saglabājiet un izmantojiet makro visās darbgrāmatās
- Excel VBA cilpas: tālāk, dariet laiku, dariet līdz, katram (ar piemēriem)
- Darbs ar darblapām, izmantojot Excel VBA
- Lietotāja definētas funkcijas (UDF) izveide programmā Excel VBA