Exceli VBA kodeerimine: koodiaknaga töötamine

Kui omandate Excel VBA kasutamise, veedate palju aega koodiakendes töötades. Salvestatud makrod salvestatakse moodulisse ja saate sisestada Exceli VBA-koodi otse VBA-moodulisse.

VBA koodi akende minimeerimine ja maksimeerimine

Kui teil on avatud mitu projekti, võib VBE-l igal ajal olla palju koodiaknaid.

Exceli VBA kodeerimine: koodiaknaga töötamine

Koodiakna ülekoormus pole ilus vaatepilt.

Koodiaknad sarnanevad Exceli töövihikuaknaga. Saate neid minimeerida, maksimeerida, suurust muuta, peita, ümber korraldada jne. Enamiku inimeste arvates on nende töötatava koodiakna maksimeerimine palju lihtsam. See võimaldab teil näha rohkem koodi ja hoiab teid häirimast.

Koodiakna maksimeerimiseks klõpsake selle tiitliribal nuppu Maksimeeri (X-i kõrval). Või lihtsalt topeltklõpsake selle tiitliribal selle maksimeerimiseks. Koodiakna algse suuruse taastamiseks klõpsake nuppu Taasta. Kui aken on maksimeeritud, pole selle tiitliriba nähtav, seega leiate VBE tiitliriba alt nupu Taasta.

Mõnikord võite soovida, et näha oleks kaks või enam koodiakent. Näiteks võite soovida võrrelda kahe mooduli koodi või kopeerida koodi ühest moodulist teise. Aknaid saab paigutada käsitsi või valida Aken → Paan horisontaalselt või Aken → Paan vertikaalselt, et neid automaatselt korraldada.

Koodiakende vahel saate kiiresti vahetada, vajutades klahvikombinatsiooni Ctrl+F6. Kui kordate seda klahvikombinatsiooni, jätkate kõigi avatud koodiakende läbimist. Ctrl+Shift+F6 vajutamine liigub akende vahel vastupidises järjekorras. (Lisateabe saamiseks vaadake neid Exceli VBA kiirklahve .)

Koodiakna minimeerimine eemaldab selle teest. Akna sulgemiseks võite klõpsata ka koodiakna tiitliribal nuppu Sulge (mis kuvab X). (Akna sulgemine lihtsalt peidab selle; te ei kaota midagi.) Uuesti avamiseks tehke projekti aknas vastaval objektil topeltklõps. Muide, nende Code akendega töötamine kõlab keerulisemalt, kui see tegelikult on.

VBA mooduli loomine

Üldiselt võib Exceli VBA moodul sisaldada kolme tüüpi koodi:

  • Deklaratsioonid: üks või mitu teabeavaldust, mille esitate VBA-le. Näiteks saate deklareerida kasutatavate muutujate andmetüübi või määrata mõned muud mooduliülesed suvandid. Deklaratsioonid on põhimõtteliselt majapidamisavaldused. Neid tegelikult ei hukata.
  • Alamprotseduurid: programmeerimiskäskude komplekt, mis täitmisel sooritab teatud toimingu.
  • Funktsiooniprotseduurid: programmeerimiskäskude komplekt, mis tagastab ühe väärtuse (olemuselt sarnane töölehe funktsiooniga, näiteks SUM).

Üks VBA moodul võib salvestada suvalise arvu alamprotseduure, funktsiooniprotseduure ja deklaratsioone. Noh, seal on piir - umbes 64000 tähemärki mooduli kohta. On ebatõenäoline, et jõuate isegi 64 000 tähemärgi piiranguni. Aga kui tegite, on lahendus lihtne: lihtsalt sisestage uus moodul.

VBA mooduli korraldamine on täielikult teie otsustada. Mõned inimesed eelistavad hoida kogu rakenduse VBA-koodi ühes VBA-moodulis; teistele meeldib koodi jagada mitmeks mooduliks. See on isiklik valik, nagu ka mööbli paigutamine.

VBA koodi saamine moodulisse

Tühi VBA-moodul on nagu võltsitud toit, mida näete mõne Hiina restorani akendel; see näeb hea välja, kuid see ei anna sulle tegelikult suurt kasu. Enne kui saate midagi sisukat teha, peab teil olema VBA moodulis VBA kood. VBA-koodi saate VBA-moodulisse hankida kolmel viisil.

  • Sisestage kood otse.
  • Kasutage Exceli makrosalvestit, et salvestada oma toiminguid ja teisendada need toimingud VBA-koodiks.
  • Kopeerige kood ühest moodulist ja kleepige see teise.

Exceli VBA koodi otse sisestamine

Mõnikord on parim marsruut kõige otsem. Koodi otse sisestamine hõlmab … noh, koodi otse sisestamist. Teisisõnu sisestate koodi klaviatuuri abil. Teksti sisestamine ja redigeerimine VBA moodulis toimib ootuspäraselt. Saate teksti valida, kopeerida, lõigata, kleepida ja teha muid toiminguid.

Koodi lugemise hõlbustamiseks kasutage mõnele reale taande sisestamiseks klahvi Tab. Taande tegemine pole vajalik, kuid see on hea harjumus omandada. Kui uurite Exceli VBA kodeerimist, saate aru, miks koodiridade taandamisest on abi.

Üks VBA-koodi rida võib olla nii pikk, kui vajate. Pikkade koodiridade lahutamiseks võite siiski kasutada rea ​​jätkumärke. Ühe koodirea (tuntud ka kui lause) jätkamiseks ühelt realt järgmisele lõpetage esimene rida tühikuga, millele järgneb allkriips (_). Seejärel jätkake avaldust järgmisel real. Ja ärge unustage ruumi. Alakriips, millele ei eelne tühikut, seda tööd ei tee.

Siin on näide ühest avaldusest, mis on jagatud kolmeks reale:

Selection.Sort Key1:=Range("A1"), _
  Järjestus1:=xlkasvav, päis:=xlarvamine, _
  Orientatsioon:=xlTopToBottom

See lause toimiks täpselt samamoodi, kui see sisestataks ühele reale (ilma rea ​​jätkumärkideta). Pange tähele, et selle avalduse teine ​​ja kolmas rida on taandega. Taande lisamine on valikuline, kuid see aitab selgitada tõsiasja, et need read ei ole eraldi avaldused.

Valge kattega insenerid, kes VBE projekteerisid, eeldasid, et inimesed teevad vigu. Seetõttu on VBE-l mitu tagasivõtmise ja uuesti tegemise taset. Kui kustutasite avalduse, mida teil poleks pidanud olema, klõpsake tööriistaribal nuppu Võta tagasi (või vajutage klahvikombinatsiooni Ctrl+Z), kuni väide uuesti kuvatakse. Pärast tagasivõtmist saate tagasivõetud muudatuste tegemiseks klõpsata nupul Tee uuesti.

Kas olete valmis reaalajas koodi sisestama? Proovige järgmisi samme.

Looge Excelis uus töövihik.

VBE aktiveerimiseks vajutage Alt+F11.

Klõpsake projekti aknas uue töövihiku nime.

VBA mooduli projekti lisamiseks valige Lisa → Moodul.

Tippige moodulisse järgmine kood:

Sub GuessName()
Msg = "Kas teie nimi on " & Application.UserName & "?"
Ans = MsgBox (SMS, vbYesNo)
Kui Ans = vbNo Siis MsgBox "Oh, pole midagi."
Kui Ans = vbYes Siis MsgBox "Ma pean olema selgeltnägija!"
Lõpeta alam

Asetage kursor suvalisse kohta sisestatud teksti sees ja vajutage protseduuri teostamiseks klahvi F5.

F5 on otsetee käsule Käivita → Käivita alam/kasutajavorm. Kui sisestasite koodi õigesti, käivitab Excel protseduuri ja saate vastata lihtsale dialoogiboksile. Tekst dialoogiboksis erineb siin näidatud tekstist.

Exceli VBA kodeerimine: koodiaknaga töötamine

Protseduur GuessName kuvab selle dialoogiboksi.

Kui sisestate sammus 5 loetletud koodi, võite märgata, et VBE muudab sisestatud teksti mõningaid muudatusi. Näiteks pärast alamlause tippimist lisab VBE automaatselt alamlause End. Ja kui jätate tühiku enne või pärast võrdusmärki välja, lisab VBE teie jaoks tühiku. Samuti muudab VBE mõne teksti värvi ja suurtähti. See kõik on täiesti normaalne. See on lihtsalt VBE viis hoida asjad korras ja loetavaks.

Kui järgisite eelmisi samme, kirjutasite just VBA alamprotseduuri, mida tuntakse ka makrona. Kui vajutate klahvi F5, käivitab Excel koodi ja järgib juhiseid. Teisisõnu hindab Excel iga väidet ja teeb seda, mida sa käskisid tal teha. (Ärge laske sellel uuel jõul pähe minna.) Saate seda makrot käivitada suvalise arvu kordi – kuigi see kipub mõnekümne korra pärast oma atraktiivsust kaotama.

Teadmiseks kasutab see lihtne Exceli makro järgmisi mõisteid.

  • Alamprotseduuri määratlemine (esimene rida)
  • Väärtuste määramine muutujatele (Sõnum ja Ans)
  • Concatenating (liitumise) string (kasutades operaator &)
  • Sisseehitatud VBA funktsiooni kasutamine (MsgBox)
  • Sisseehitatud VBA konstantide kasutamine (vbYesNo, vbNo ja vbYes)
  • Kui-siis konstruktsiooni kasutamine (kaks korda)
  • Alamprotseduuri lõpetamine (viimane rida)

Exceli VBA makrosalvesti kasutamine

Teine viis VBA-moodulisse koodi saamiseks on oma toimingute salvestamine Exceli makrosalvesti abil.

Muide, ülaltoodud GuessName'i protseduuri pole absoluutselt võimalik salvestada. Saate salvestada ainult neid asju, mida saate otse Excelis teha. Teatekasti kuvamine ei kuulu Exceli tavalisse repertuaari. (See on VBA asi.) Makrosalvesti on kasulik, kuid paljudel juhtudel peate tõenäoliselt vähemalt osa koodi käsitsi sisestama.

Siin on samm-sammult näide, mis näitab, kuidas salvestada makro, mis lisab uue töölehe ja peidab kõik peale kümne esimese rea ja kõik peale kümne esimese veeru. Kui soovite seda näidet proovida, alustage uue tühja Exceli töövihikuga ja järgige neid samme.

Aktiveerige töövihikus tööleht.

Iga Exceli tööleht sobib.

Klõpsake vahekaarti Arendaja ja veenduge, et Kasuta suhtelisi viiteid pole esile tõstetud.

See makro salvestatakse absoluutsete viidete abil.

Valige Arendaja → Kood → Makro salvestamine või klõpsake olekuriba vasakus otsas Valmis indikaatori kõrval olevat ikooni.

Excel kuvab dialoogiboksi Makro salvestamine.

Andke dialoogiboksis Makro salvestamine makrole nimeks TenByTen, määrake, et soovite makro salvestada sellesse töövihikusse, ja vajutage kiirklahvi jaoks Shift+T.

Makro saab käivitada, kui vajutate Ctrl+Shift+T.

Salvestamise alustamiseks klõpsake nuppu OK. Excel lisab projekti automaatselt uue VBA mooduli, mis vastab aktiivsele töövihikule.

Sellest hetkest alates teisendab Excel teie toimingud VBA-koodiks. Salvestamise ajal muutub olekuribal olev ikoon väikeseks ruuduks. See on meeldetuletus, et makrosalvesti töötab. Samuti võite makrosalvesti peatamiseks klõpsata sellel ikoonil.

Klõpsake uue lehe ikooni, mis asub viimase lehe vahekaardil paremal.

Excel lisab uue töölehe.

Valige kogu veerg K (11. veerg) ja vajutage Ctrl+Shift+paremnool; seejärel paremklõpsake mis tahes valitud veerus ja valige kiirmenüüst Peida.

Excel peidab kõik valitud veerud.

Valige terve rida 11 ja vajutage Ctrl+Shift+allanool; seejärel paremklõpsake mis tahes valitud rida ja valige kiirmenüüst Peida.

Excel peidab kõik valitud veerud.

Valige lahter A1.

Valige Arendaja → Kood → Peata salvestamine või klõpsake olekuribal (väikesel ruudul) nuppu Peata salvestamine. Excel lõpetab teie toimingute salvestamise.

Selle äsja salvestatud makro vaatamiseks vajutage VBE aktiveerimiseks Alt+F11. Otsige projekti aknast üles töövihiku nimi. Näete, et projektis on loetletud uus moodul. Mooduli nimi oleneb sellest, kas makro salvestamise alustamisel oli töövihikus veel mooduleid. Kui te seda ei teinud, on mooduli nimi Module1. Mooduli koodiakna kuvamiseks saate moodulil topeltklõpsata.

Siin on teie tegevuse tulemusel loodud kood:

Sub TenByTen()
'
TenByTen makro
'
Klaviatuuri otsetee: Ctrl+Shift+T
'
  Sheets.Add After:=ActiveSheet
  Veerud("K:K").Valige
  Vahemik (valik, valik. lõpp (xlToRight)).Valige
  Selection.EntireColumn.Hidden = Tõene
  Ridad("11:11").Valige
  Vahemik (valik, valik. lõpp (xlalla)).Valige
  Selection.EntireRow.Hidden = Tõene
  Vahemik("A1").Valige
Lõpeta alam

Selle makro proovimiseks aktiveerige mis tahes tööleht ja vajutage 4. toimingus määratud otseteeklahvi: Ctrl+Shift+T.

Kui te makrole kiirklahvi ei määranud, ärge muretsege. Kõigi saadaolevate makrode loendi kuvamiseks ja soovitud makrode käivitamiseks tehke järgmist.

Valige Arendaja → Kood → Makrod. Klaviatuurifännid saavad vajutada Alt+F8.

Kumbki neist meetoditest kuvab dialoogiboksi, mis loetleb kõik saadaolevad makrod.

Valige loendist makro (antud juhul TenByTen).

Klõpsake nuppu Käivita.

Excel käivitab makro ja saate uue töölehe kümne nähtava rea ​​ja kümne nähtava veeruga.

Saate makrosalvesti töötamise ajal täita suvalise arvu käsklusi ja teha mis tahes arvu toiminguid. Excel tõlgib teie hiiretoimingud ja klahvivajutused kohusetundlikult VBA-koodiks.

Ja loomulikult saate makrot ka pärast selle salvestamist redigeerida. Uute oskuste testimiseks muutke makrot nii, et see lisaks üheksa nähtava rea ​​ja veeruga töölehe – see sobib suurepäraselt Sudoku pusle jaoks.

VBA koodi kopeerimine

Viimane meetod koodi saamiseks VBA moodulisse on selle kopeerimine teisest moodulist või mõnest muust kohast (näiteks veebisaidilt). Näiteks võib ühe projekti jaoks kirjutatud alam- või funktsiooniprotseduur olla kasulik ka mõnes teises projektis. Selle asemel, et raisata aega koodi uuesti sisestamisele, saate mooduli aktiveerida ja kasutada tavalisi lõikelaua kopeerimise ja kleepimise protseduure. (Tõenäoliselt meeldivad teile pigem kiirklahvid Ctrl+C kopeerimiseks ja Ctrl+V kleepimiseks.) Pärast koodi VBA moodulisse kleepimist saate koodi vajadusel muuta.

Muide, veebist leiate palju VBA koodi näiteid. Kui soovite neid proovida, valige kood oma brauseris ja vajutage selle kopeerimiseks klahvikombinatsiooni Ctrl+C. Seejärel aktiveerige moodul ja vajutage selle kleepimiseks klahvikombinatsiooni Ctrl+V.

Kui kopeerite veebisaidilt koodi, nõuab see mõnikord parandamist. Näiteks võivad tsitaadid olla „nutikad jutumärgid” ja need tuleb teisendada lihtsateks jutumärkideks. Ja mõnikord tekivad pikad järjekorrad. Vigaseid väiteid on VBE-s lihtne märgata, kuna need kuvatakse punaselt.


Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kui olete esitluse ajal PowerPointi slaididele joonistamiseks kasutanud pliiatsit või markerit, saate joonised järgmise esitluse jaoks salvestada või need kustutada, nii et järgmisel näitamisel alustate puhaste PowerPointi slaididega. Pliiatsi ja markeri jooniste kustutamiseks järgige neid juhiseid: joonte kustutamine […]

Stiili teegi sisu rakenduses SharePoint 2010

Stiili teegi sisu rakenduses SharePoint 2010

Style'i teek sisaldab CSS-faile, XSL-faile ja eelmääratletud mallilehtede, lehepaigutuste ja juhtelementide poolt kasutatavaid pilte rakenduses SharePoint 2010. CSS-failide leidmiseks avaldamissaidi stiiliteegist: valige saidi toimingud → vaade. Kogu saidi sisu. Ilmub saidi sisu. Style raamatukogu asub […]

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Ärge uputage oma publikut tohutute numbritega. Microsoft Excelis saate parandada oma armatuurlaudade ja aruannete loetavust, vormindades numbrid tuhandetes või miljonites.

Kuidas SharePointi saite jagada ja jälgida

Kuidas SharePointi saite jagada ja jälgida

Siit saate teada, kuidas kasutada SharePointi suhtlusvõrgustiku tööriistu, mis võimaldavad üksikisikutel ja rühmadel suhelda, koostööd teha, jagada ja ühendada.

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Julia kuupäevi kasutatakse tootmiskeskkondades sageli ajatemplina ja partiinumbri kiirviitena. Seda tüüpi kuupäevade kodeerimine võimaldab jaemüüjatel, tarbijatel ja teenindusagentidel tuvastada toote valmistamise aja ja seega toote vanuse. Juliuse kuupäevi kasutatakse ka programmeerimises, sõjaväes ja astronoomias. Erinevad […]

Accessi veebirakenduse loomine

Accessi veebirakenduse loomine

Veebirakenduse saate luua rakenduses Access 2016. Mis siis ikkagi on veebirakendus? Noh, veeb tähendab, et see on võrgus ja rakendus on lihtsalt "rakenduse" lühend. Kohandatud veebirakendus on veebipõhine andmebaasirakendus, millele pääseb ligi brauseri abil pilvest. Loote ja hooldate veebirakendust töölaua versioonis […]

SharePoint 2010 kiirkäivitusriba

SharePoint 2010 kiirkäivitusriba

Enamik SharePoint 2010 lehti kuvab lehe vasakus servas kiirkäivitusribal navigeerimislinkide loendi. Kiirkäivitusribal kuvatakse lingid saidi esiletoodud sisule (nt loendid, teegid, saidid ja avaldamislehed). Kiirkäivitusribal on kaks väga olulist linki: link kogu saidi sisu: […]

Mida tähendavad Exceli lahendaja veateated?

Mida tähendavad Exceli lahendaja veateated?

Lihtsate ülesannete puhul leiab Exceli lahendaja tavaliselt kiiresti eesmärgifunktsiooni jaoks optimaalsed Lahendaja muutuja väärtused. Kuid mõnel juhul on Solveril raskusi sihtfunktsiooni optimeerivate Solveri muutuja väärtuste leidmisega. Sellistel juhtudel kuvab Solver tavaliselt teate või veateate, mis kirjeldab või arutab probleemi, mida […]

Kuidas eemaldada Exceli Pivot-liigendtabelist arvutatud väljad ja üksused

Kuidas eemaldada Exceli Pivot-liigendtabelist arvutatud väljad ja üksused

Saate hõlpsasti eemaldada arvutatud välju ja üksusi Exceli liigendtabelist. Arvutatud välja eemaldamiseks klõpsake liigendtabelis lahtrit. Seejärel klõpsake vahekaardi Analüüsi käsku Fields, Items & Sets ja valige kuvatavast alammenüüst Arvutatud väli. Kui Excel kuvab dialoogiboksi Arvutatud välja lisamine, valige […]

Kuidas SharePointis sildistada

Kuidas SharePointis sildistada

Sildid on märksõnad, mille määrate sisule. Lehtede sildistamine teistega jagamiseks on sotsiaalne järjehoidja ning see on veebis väga populaarne ja SharePointis lihtne. Kui olete kunagi kasutanud saiti nagu Delicious, teate juba, kuidas sotsiaalne järjehoidja töötab. Kuna rohkem inimesi määrab samu silte, muutuvad sildid viisiks […]