Excel VBA -koodaus: Työskentely koodiikkunan kanssa

Kun hallitset Excel VBA:n, käytät paljon aikaa Code-ikkunoissa työskentelemiseen. Tallentamasi makrot tallennetaan moduuliin, ja voit kirjoittaa Excelin VBA-koodin suoraan VBA-moduuliin.

VBA-koodiikkunoiden minimoiminen ja maksimointi

Jos sinulla on useita projekteja avoinna, VBE:ssä voi olla useita koodiikkunoita kerrallaan.

Excel VBA -koodaus: Työskentely koodiikkunan kanssa

Koodiikkunan ylikuormitus ei ole kaunis näky.

Koodiikkunat ovat samanlaisia ​​kuin Excelin työkirjaikkunat. Voit minimoida, suurentaa ne, muuttaa niiden kokoa, piilottaa ne, järjestää ne uudelleen ja niin edelleen. Useimpien ihmisten on paljon helpompaa maksimoida työskentelemänsä Koodi-ikkuna. Näin voit nähdä enemmän koodia ja estää sinua häiriintymästä.

Voit suurentaa koodi-ikkunan napsauttamalla sen otsikkorivillä olevaa Suurenna-painiketta (X:n vieressä). Tai vain kaksoisnapsauta sen otsikkoriviä suurentaaksesi sen. Voit palauttaa koodiikkunan alkuperäiseen kokoonsa napsauttamalla Palauta-painiketta. Kun ikkuna on maksimoitu, sen otsikkopalkki ei ole näkyvissä, joten löydät Palauta-painikkeen VBE-otsikkorivin alapuolelta.

Joskus saatat haluta, että kaksi tai useampi koodi-ikkuna on näkyvissä. Voit esimerkiksi verrata kahden moduulin koodia tai kopioida koodia moduulista toiseen. Voit järjestää ikkunat manuaalisesti tai järjestää ne automaattisesti valitsemalla Ikkuna → Laatoi vaakatasossa tai Ikkuna → Laatoi pystysuunnassa.

Voit vaihtaa nopeasti koodiikkunoiden välillä painamalla Ctrl+F6. Jos toistat tämän näppäinyhdistelmän, jatkat kaikkien avoimien koodiikkunoiden selaamista. Painamalla Ctrl+Shift+F6 selaa ikkunoita käänteisessä järjestyksessä. (Saat lisätietoja tutustumalla näihin Excel VBA -pikanäppäimiin .)

Koodi-ikkunan pienentäminen saa sen pois tieltä. Voit myös sulkea ikkunan napsauttamalla ikkunan Sulje-painiketta (jossa näkyy X) koodiikkunan otsikkorivillä. (Ikkunan sulkeminen piilottaa sen, et menetä mitään.) Voit avata sen uudelleen kaksoisnapsauttamalla asianmukaista objektia Projekti-ikkunassa. Muuten, näiden Code-ikkunoiden kanssa työskentely kuulostaa vaikeammalta kuin se todellisuudessa on.

VBA-moduulin luominen

Yleensä Excel VBA -moduuli voi sisältää kolmentyyppistä koodia:

  • Ilmoitukset: Yksi tai useampi tieto, jonka annat VBA:lle. Voit esimerkiksi määrittää tietotyypin muuttujille, joita aiot käyttää, tai määrittää muita moduulin laajuisia asetuksia. Ilmoitukset ovat pohjimmiltaan taloudenhoitolausuntoja. Niitä ei varsinaisesti teloitettu.
  • Alitoimenpiteet: Ohjelmointikäskysarja, joka suoritettuna suorittaa jonkin toiminnon.
  • Funktiomenettelyt: Ohjelmointikäskyjen joukko, joka palauttaa yhden arvon (konseptiltaan samanlainen kuin laskentataulukkofunktio, kuten SUM).

Yksi VBA-moduuli voi tallentaa minkä tahansa määrän alimenettelyjä, toimintoproseduureja ja ilmoituksia. No, raja on olemassa - noin 64 000 merkkiä moduulia kohden. On epätodennäköistä, että pääset edes lähelle 64 000 merkin rajaa. Mutta jos teit, ratkaisu on yksinkertainen: aseta vain uusi moduuli.

VBA-moduulin järjestäminen on täysin sinun päätettävissäsi. Jotkut ihmiset haluavat säilyttää kaiken sovelluksen VBA-koodinsa yhdessä VBA-moduulissa; toiset haluavat jakaa koodin useisiin moduuleihin. Se on henkilökohtainen valinta, aivan kuten huonekalujen järjestäminen.

VBA-koodin saaminen moduuliin

Tyhjä VBA-moduuli on kuin väärennetty ruoka, jonka näet joidenkin kiinalaisten ravintoloiden ikkunoissa; se näyttää hyvältä, mutta se ei todellakaan tee sinulle paljon. Ennen kuin voit tehdä mitään merkityksellistä, sinulla on oltava VBA-koodi VBA-moduulissa. Voit saada VBA-koodin VBA-moduuliin kolmella tavalla:

  • Syötä koodi suoraan.
  • Käytä Excel-makrotallenninta toimintojen tallentamiseen ja muuntamiseen VBA-koodiksi.
  • Kopioi koodi yhdestä moduulista ja liitä se toiseen.

Excelin VBA-koodin syöttäminen suoraan

Joskus paras reitti on suorin. Koodin syöttäminen suoraan sisältää… no, koodin syöttämisen suoraan. Toisin sanoen kirjoitat koodin näppäimistöllä. Tekstin syöttäminen ja muokkaaminen VBA-moduulissa toimii odotetusti. Voit valita, kopioida, leikata, liittää ja tehdä muita asioita tekstille.

Sisennä joitakin rivejä Tab-näppäimellä, jotta koodisi on helpompi lukea. Sisennys ei ole välttämätöntä, mutta se on hyvä tapa hankkia. Kun opit Excel VBA -koodausta, ymmärrät, miksi koodirivien sisennys on hyödyllistä.

Yksi VBA-koodirivi voi olla niin pitkä kuin tarvitset. Voit kuitenkin haluta käyttää rivin jatkomerkkejä pitkien koodirivien hajottamiseen. Jos haluat jatkaa yksittäistä koodiriviä (tunnetaan myös lauseena) riviltä toiselle, lopeta ensimmäinen rivi välilyönnillä ja alaviivalla (_). Jatka sitten lausetta seuraavalla rivillä. Ja älä unohda tilaa. Alaviiva, jota ei edeltä välilyönti, ei tee työtä.

Tässä on esimerkki yhdestä lausunnosta, joka on jaettu kolmeen riviin:

Selection.Sort Key1:=Range("A1"), _
  Järjestys1:=xlNouseva, Otsikko:=xlArvaus, _
  Suunta:=xlTopToBottom

Tämä lauseke toimisi täsmälleen samalla tavalla, jos se kirjoitettaisiin yhdelle riville (ilman rivin jatkomerkkejä). Huomaa, että tämän lausunnon toinen ja kolmas rivi on sisennetty. Sisennys on valinnainen, mutta se auttaa selventämään, että nämä rivit eivät ole erillisiä lausekkeita.

Valkopäällysteiset insinöörit, jotka suunnittelivat VBE:n, odottivat ihmisten tekevän virheitä. Siksi VBE:ssä on useita kumoa- ja uudelleentoimitustasoja. Jos poistit lausunnon, jota sinun ei pitäisi olla, napsauta työkalupalkin Kumoa-painiketta (tai paina Ctrl+Z), kunnes lause tulee uudelleen näkyviin. Kumoamisen jälkeen voit napsauttaa Toista-painiketta suorittaaksesi tekemäsi muutokset.

Oletko valmis syöttämään oikean koodin? Kokeile seuraavia vaiheita:

Luo uusi työkirja Excelissä.

Aktivoi VBE painamalla Alt+F11.

Napsauta uuden työkirjan nimeä Projekti-ikkunassa.

Valitse Lisää → Moduuli lisätäksesi VBA-moduulin projektiin.

Kirjoita seuraava koodi moduuliin:

Sub-Arvausnimi()
Msg = "Onko nimesi " & Application.UserName & "?"
Ans = ViestiBox(Viesti, vbYesNo)
Jos Ans = vbNo Sitten MsgBox "Voi, ei välitä."
Jos Ans = vbYes Sitten MsgBox "Minun täytyy olla psyykkinen!"
Lopeta ala

Aseta kohdistin minne tahansa kirjoittamassasi tekstissä ja paina F5 suorittaaksesi toimenpiteen.

F5 on pikakuvake Suorita → Run Sub/UserForm. Jos syötit koodin oikein, Excel suorittaa toimenpiteen ja voit vastata yksinkertaiseen valintaikkunaan. Valintaikkunan teksti eroaa tässä näkyvästä tekstistä.

Excel VBA -koodaus: Työskentely koodiikkunan kanssa

GuessName-toiminto näyttää tämän valintaikkunan.

Kun syötät vaiheessa 5 luetellun koodin, saatat huomata, että VBE tekee joitain muutoksia kirjoittamaasi tekstiin. Esimerkiksi kun olet kirjoittanut Sub-käskyn, VBE lisää automaattisesti End Sub -käskyn. Ja jos jätät välilyönnin pois yhtäläisyysmerkin edessä tai jälkeen, VBE lisää välilyönnin puolestasi. Lisäksi VBE muuttaa joidenkin tekstien väriä ja isoja kirjaimia. Tämä kaikki on täysin normaalia. Se on vain VBE:n tapa pitää asiat siistinä ja luettavana.

Jos noudatit edellisiä vaiheita, kirjoitit juuri VBA-aliproseduurin, joka tunnetaan myös nimellä makro. Kun painat F5, Excel suorittaa koodin ja noudattaa ohjeita. Toisin sanoen Excel arvioi jokaisen lauseen ja tekee sen, mitä käskit sen tekemään. (Älä anna tämän uuden löydetyn voiman mennä päähäsi.) Voit suorittaa tämän makron kuinka monta kertaa tahansa – vaikka se yleensä menettää vetovoimansa muutaman kymmenen kerran jälkeen.

Tämä yksinkertainen Excel-makro käyttää seuraavia käsitteitä:

  • Alimenettelyn määrittäminen (ensimmäinen rivi)
  • Arvojen antaminen muuttujille (Msg ja Ans)
  • Merkkijonon ketjuttaminen (liittäminen) (käyttäen &-operaattoria)
  • Sisäänrakennetun VBA-toiminnon käyttäminen (MsgBox)
  • Sisäänrakennettujen VBA-vakioiden käyttäminen (vbYesNo, vbNo ja vbYes)
  • Jos-niin -rakenteen käyttäminen (kahdesti)
  • Aliprosessin lopettaminen (viimeinen rivi)

Excel VBA -makrotallentimen käyttäminen

Toinen tapa saada koodia VBA-moduuliin on tallentaa toiminnot Excel-makrotallentimen avulla.

Muuten, et voi mitenkään tallentaa yllä näkyvää GuessName-menettelyä. Voit tallentaa vain asioita, jotka voit tehdä suoraan Excelissä. Viestilaatikon näyttäminen ei kuulu Excelin normaaliin ohjelmistoon. (Se on VBA-juttu.) Makrotallennin on hyödyllinen, mutta monissa tapauksissa sinun on luultavasti syötettävä ainakin osa koodista manuaalisesti.

Tässä on vaiheittainen esimerkki, joka näyttää kuinka tallennetaan makro, joka lisää uuden laskentataulukon ja piilottaa kaikki paitsi ensimmäiset kymmenen riviä ja kaikki paitsi ensimmäiset kymmenen saraketta. Jos haluat kokeilla tätä esimerkkiä, aloita uudella, tyhjällä Excel-työkirjalla ja toimi seuraavasti:

Aktivoi laskentataulukko työkirjassa.

Mikä tahansa Excel-laskentataulukko käy.

Napsauta Kehittäjä-välilehteä ja varmista, että Käytä suhteellisia viittauksia ei ole korostettuna.

Tämä makro on tallennettu käyttämällä absoluuttisia viittauksia.

Valitse Kehittäjä → Koodi → Tallenna makro tai napsauta tilapalkin vasemmassa reunassa olevaa Valmis-ilmaisimen vieressä olevaa kuvaketta.

Excel näyttää Tallenna makro -valintaikkunan.

Nimeä makro Tallenna makro -valintaikkunassa TenByTen, määritä, että haluat makron tallentavan tähän työkirjaan, ja paina pikanäppäimeksi Shift+T.

Makro voidaan suorittaa painamalla Ctrl+Shift+T.

Aloita tallennus napsauttamalla OK. Excel lisää automaattisesti uuden VBA-moduulin projektiin, joka vastaa aktiivista työkirjaa.

Tästä eteenpäin Excel muuntaa toimintosi VBA-koodiksi. Kun tallennat, tilapalkin kuvake muuttuu pieneksi neliöksi. Tämä on muistutus siitä, että makrotallennin on käynnissä. Voit myös pysäyttää makrotallentimen napsauttamalla kuvaketta.

Napsauta Uusi taulukko -kuvaketta viimeisen taulukkovälilehden oikealla puolella.

Excel lisää uuden laskentataulukon.

Valitse koko sarake K (11. sarake) ja paina Ctrl+Shift+oikea nuoli; napsauta sitten hiiren kakkospainikkeella mitä tahansa valittua saraketta ja valitse pikavalikosta Piilota.

Excel piilottaa kaikki valitut sarakkeet.

Valitse koko rivi 11 ja paina Ctrl+Shift+alanuoli; napsauta sitten hiiren kakkospainikkeella mitä tahansa valittua riviä ja valitse pikavalikosta Piilota.

Excel piilottaa kaikki valitut sarakkeet.

Valitse solu A1.

Valitse Kehittäjä → Koodi → Lopeta tallennus tai napsauta tilapalkin Lopeta tallennus -painiketta (pieni neliö). Excel lopettaa toimintojesi tallentamisen.

Voit tarkastella tätä äskettäin tallennettua makroa painamalla Alt+F11 aktivoidaksesi VBE. Etsi työkirjan nimi Projekti-ikkunasta. Näet, että projektilla on luettelossa uusi moduuli. Moduulin nimi riippuu siitä, oliko työkirjassa muita moduuleja, kun aloitit makron tallentamisen. Jos et, moduulin nimi on Moduuli1. Voit tarkastella moduulin koodiikkunaa kaksoisnapsauttamalla moduulia.

Tässä on toimillasi luoma koodi:

Sub TenByTen()
'
TenByTen-makro
'
Pikanäppäin: Ctrl+Shift+T
'
  Sheets.Add After:=ActiveSheet
  Sarakkeet("K:K").Valitse
  Alue(Valinta, Valinta.Loppu(xlToOikealle)).Valitse
  Selection.EntireColumn.Hidden = Tosi
  Rivit("11:11").Valitse
  Alue(Valinta, Valinta.Loppu(xlAlas)).Valitse
  Selection.EntireRow.Hidden = Tosi
  Alue("A1").Valitse
Lopeta ala

Voit kokeilla tätä makroa aktivoimalla minkä tahansa laskentataulukon ja painamalla vaiheessa 4 määrittämääsi pikanäppäintä: Ctrl+Shift+T.

Jos et määrittänyt makrolle pikanäppäintä, älä huoli. Näin saat näkyviin luettelon kaikista käytettävissä olevista makroista ja suoritat haluamasi:

Valitse Kehittäjä → Koodi → Makrot. Näppäimistöfanit voivat painaa Alt+F8.

Jompikumpi näistä tavoista näyttää valintaikkunan, jossa luetellaan kaikki käytettävissä olevat makrot.

Valitse luettelosta makro (tässä tapauksessa TenByTen).

Napsauta Suorita-painiketta.

Excel suorittaa makron, ja saat uuden laskentataulukon, jossa on kymmenen näkyvää riviä ja kymmenen näkyvää saraketta.

Voit suorittaa minkä tahansa määrän komentoja ja suorittaa minkä tahansa määrän toimintoja makrotallentimen ollessa käynnissä. Excel kääntää hiiren toiminnot ja näppäinpainallukset huolellisesti VBA-koodiksi.

Ja tietysti voit myös muokata makroa sen tallentamisen jälkeen. Testaa uusia taitojasi muokkaamalla makroa siten, että se lisää laskentataulukon, jossa on yhdeksän näkyvää riviä ja saraketta – täydellinen Sudoku-pulmapeliin.

Kopioi VBA-koodia

Viimeinen tapa saada koodi VBA-moduuliin on kopioida se toisesta moduulista tai jostain muusta paikasta (kuten verkkosivustolta). Esimerkiksi yhdelle projektille kirjoittamasi ala- tai funktioproseduuri voi olla hyödyllinen myös toisessa projektissa. Sen sijaan, että tuhlasit aikaa koodin syöttämiseen, voit aktivoida moduulin ja käyttää tavallisia leikepöydän kopiointi- ja liittämistoimenpiteitä. (Pidät luultavasti pikemminkin pikanäppäimistä Ctrl+C kopiointia varten ja Ctrl+V liittääksesi.) Kun olet liittänyt koodin VBA-moduuliin, voit muokata koodia tarvittaessa.

Muuten, löydät verkosta paljon esimerkkejä VBA-koodista. Jos haluat kokeilla niitä, valitse koodi selaimesta ja kopioi se painamalla Ctrl+C. Aktivoi sitten moduuli ja liitä se painamalla Ctrl+V.

Kun kopioit koodin verkkosivustolta, se vaatii joskus korjausta. Esimerkiksi lainausmerkit voivat olla "älykkäitä lainausmerkkejä", ja ne on muutettava yksinkertaisiksi lainausmerkeiksi. Ja joskus ympärille muodostuu pitkät jonot. Virheelliset lausunnot on helppo havaita VBE:ssä, koska ne näkyvät punaisina.


Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa Microsoft Word avaa tiedostot vain luku -tilassa, jolloin niiden muokkaaminen on mahdotonta? Älä huoli, menetelmät ovat alla

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Virheiden korjaaminen virheellisten Microsoft Word -asiakirjojen tulostuksessa. Virheet tulostettaessa Word-asiakirjoja, joissa on muuttuneet fontit, sotkuiset kappaleet, puuttuva teksti tai kadonnut sisältö ovat melko yleisiä. Älä kuitenkaan

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Jos olet piirtänyt PowerPoint-dioihin esityksen aikana kynää tai korostuskynää, voit tallentaa piirustukset seuraavaa esitystä varten tai poistaa ne, jotta seuraavan kerran näytät ne. Aloitat puhtailla PowerPoint-dioilla. Pyyhi kynä- ja korostuskynäpiirrokset noudattamalla näitä ohjeita: Pyyhi rivit yksi kerrallaan […]

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjasto sisältää CSS-tiedostoja, Extensible Stylesheet Language (XSL) -tiedostoja ja kuvia, joita käyttävät ennalta määritetyt sivupohjat, sivuasettelut ja säätimet SharePoint 2010:ssä. CSS-tiedostojen etsiminen julkaisusivuston tyylikirjastosta: Valitse Sivuston toiminnot→ Näytä Kaikki sivuston sisältö. Sivuston sisältö tulee näkyviin. Style-kirjasto sijaitsee […]

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Älä hukuta yleisöäsi jättimäisillä numeroilla. Microsoft Excelissä voit parantaa koontinäyttöjesi ja raporttiesi luettavuutta muotoilemalla numerot näyttämään tuhansia tai miljoonia.

SharePoint-sivustojen jakaminen ja seuraaminen

SharePoint-sivustojen jakaminen ja seuraaminen

Opi käyttämään SharePointin sosiaalisen verkostoitumisen työkaluja, joiden avulla yksilöt ja ryhmät voivat kommunikoida, tehdä yhteistyötä, jakaa ja pitää yhteyttä.

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Juliaanisia päivämääriä käytetään usein valmistusympäristöissä aikaleimana ja pikaviitteenä eränumerolle. Tämän tyyppisen päivämääräkoodauksen avulla jälleenmyyjät, kuluttajat ja huoltoedustajat voivat tunnistaa tuotteen valmistusajankohdan ja siten tuotteen iän. Julian-päivämääriä käytetään myös ohjelmoinnissa, armeijassa ja tähtitiedessä. Erilainen […]

Access-verkkosovelluksen luominen

Access-verkkosovelluksen luominen

Voit luoda verkkosovelluksen Access 2016:ssa. Mikä verkkosovellus sitten on? No, verkko tarkoittaa, että se on verkossa, ja sovellus on vain lyhenne sanoista "sovellus". Mukautettu verkkosovellus on online-tietokantasovellus, jota käytetään pilvestä selaimen avulla. Rakennat ja ylläpidät verkkosovellusta työpöytäversiossa […]

Pikakäynnistyspalkki SharePoint 2010:ssä

Pikakäynnistyspalkki SharePoint 2010:ssä

Useimmat SharePoint 2010:n sivut näyttävät navigointilinkkien luettelon pikakäynnistyspalkissa sivun vasemmassa reunassa. Pikakäynnistyspalkki näyttää linkit esitellyn sivuston sisältöön, kuten luetteloihin, kirjastoihin, sivustoihin ja julkaisusivuihin. Pikakäynnistyspalkki sisältää kaksi erittäin tärkeää linkkiä: Koko sivuston sisältö -linkki: […]

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Yksinkertaisille ongelmille Excelin Ratkaisija löytää yleensä nopeasti optimaaliset Ratkaisijamuuttujien arvot tavoitefunktiolle. Mutta joissakin tapauksissa Ratkaisijalla on vaikeuksia löytää Solver-muuttujan arvoja, jotka optimoivat tavoitefunktion. Näissä tapauksissa Ratkaisija näyttää yleensä viestin tai virheilmoituksen, joka kuvaa tai käsittelee ongelmaa, jonka […]