Excel VBA -sarja

”Aseta” on avainsana, jota käytetään VBA-ohjelmoinnissa osoittamaan viite objektille tai solualueelle, joka pysyy korjattuna koko ohjelmassa tai koodissa Excelissä. VBA-setti auttaa meitä välttämään toistuvaa syöttämistä alueelta, joka meidän on valittava valittaessa koodia. Erityisesti “Set” -asetusta käytetään useimmiten tietyn arkin taulukkoon / solualueeseen.

Syntaksi:

Aseta objektinimi / muuttuja = Objekti / alue

Huomaa: Excel-taulukossa on oltava Kehittäjä-välilehti.

Jos et näe Kehittäjä-välilehteä excelissä, katso alla olevat vaiheet:

Vaihe 1: Napsauta File Option.

Vaihe 2: Pudotusvalikko tulee näkyviin, napsauta Asetukset- välilehteä.

Vaihe 3: Kun olet napsauttanut ”Asetukset”, näyttöön tulee valintaikkuna alla olevan kuvan mukaisesti ja napsauta Mukauta nauha -vaihtoehtoa.

Vaihe 4: Kun vetämme alas räätälöityjen nauha-asetusten kanssa, löydämme vaihtoehdon Kehittäjälle, meidän on valittava tämä ruutu, joka antaa meille mahdollisuuden käyttää VBA: ta excelissä.

Kuinka käyttää avainsanaa VBA: ssa?

Alla on erilaisia ​​esimerkkejä set-avainsanan käyttämisestä Excel VBA: ssa.

Voit ladata tämän VBA Set Excel -mallin täältä - VBA Set Excel Template

Excel VBA -sarja - esimerkki # 1

Otetaan yksinkertainen esimerkki Set-avainsanasta Excel VBA: ssa. Oletetaan, että haluamme valita alueen ja asettaa sen kiinteäksi alueeksi toiston välttämiseksi. Alla on solualue, joka sisältää nimet:

Noudata alla olevia vaiheita käyttääksesi avainsanaa Excel VBA: ssa:

Vaihe 1: Napsauta ”Kehittäjä” -välilehteä ja napsauta sitten vasemmalla puolella olevaa ”Visual Basic” -vaihtoehtoa (ensimmäinen vaihtoehto) alla olevan kuvan mukaisesti.

Kun napsautat sitä, uusi ikkuna tulee näkyviin alla esitetyllä tavalla:

Huomaat, että se sisältää kaksi vasemmalla puolella olevaa välilehteä, ”Sheet1 (Sheet1)” ja “ThisWorkbook”. Ainoa ero on ”Sheet1”, kun haluat suorittaa koodin vain tälle arkille ja “ThisWorkbook” -kansioon voimme kirjoittaa koodin ja suorittaa koodin, jota voidaan soveltaa koko excel-työkirjaan.

Vaihe 2: Kaksoisnapsauta Sheet1 (Sheet1) ja näet tyhjän ruudun, johon meidän on kirjoitettava koodi. Ensin julista alajoukko alanimeksi ja paina enter ja näet alla esitetyn mukaisesti luodun alajoukon:

Koodi:

 Sub setexmp () Loppu Sub 

Tällä tavalla luomme osajoukon, jolloin ”End Sub” tulee näkyviin automaattisesti. Tämä on oletuksena excel-ominaisuus. Jos ”End Sub” ei tule näkyviin, koodi ei suorita ja heittää virheen.

Vaihe 3: Nyt ilmoitamme koodissa käytettävät muuttujat.

Type Dim muuttujan nimi ja muuttujan tyyppi. Nimi on tällöin aluealueen tyyppi ja tyyppi olisi kokonaisluku, pitkä, merkkijono, alue jne.

Koodi:

 Sub setexmp () Dim Rnst As Range End Sub 

Tässä “Rnst” on muuttujan nimi ja määritä se (As) Range-toimintoksi. Tämä varoittaa järjestelmää siitä, että alue valitaan.

Vaihe 4: Kirjoita sitten "Aseta" -sana ja anna alue muodossa: Aseta muuttuja = Alue ("solualue") .

Koodi:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") End Sub 

Vaihe 5: Meidän on valittava tämä määritetty rivialue. Kirjoita siis valitse Rnst.Valitse Katso alla oleva kuvakaappaus:

Koodi:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Valitse loppu Sub 

Vaihe 6: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Se valitsee määritetyn alueen, joka on soluista A2 - A11.

Excel VBA -sarja - esimerkki 2

Oletetaan, että haluamme liittää nämä solut tai alueet toiseen soluun. Käytämme samaa koodia kuin yllä ja lisäämme koodin tietojen liittämiseen useisiin sarakkeisiin.

Noudata seuraavia vaiheita:

Vaihe 1: Nyt kopioimme solualueen, joka on nimisarake. Kirjoita kopio eli “Rnst.Copy”, kun kirjoitat “Rnst.”, Eräänlainen pudotusvalikko tulee näkyviin. Se sisältää erilaisia ​​toimintoja, kuten kopiointi, liittäminen jne.

Vaihe 2: Voit vierittää alas ja valita haluamasi toiminnon. Kirjoita vain "Kopioi" alla olevan kuvakaappauksen mukaisesti:

Koodi:

 Sub setexmp () himmennetty Rnst Aset. Aseta Rnst = Alue ("A2: A11") Rnst.Valitse Rnst.Copy End Sub 

Vaihe 3: Koota koodi painamalla F8-näppäintä.

Kun olet suorittanut tämän kopiointitoiminnon, huomaat, että excel-alue kopioidaan ja solualueen ympärille ilmestyy katkoviivat alla olevan kuvan mukaisesti:

Vaihe 4: Nyt meidän on liitettävä nämä solut, sanoen vierekkäisiin sarakkeisiin yksi kerrallaan, joten meidän on käytettävä silmukkafunktiota ”For” ja oletetaan, että liitäntä on tehtävä viisi kertaa, joten kirjoitamme sen alla olevan kuvan mukaisesti:

Kokonaisluku i = 1-5 -> tämä määrittelee kuinka monta kertaa tiedot on liitettävä. Jos 5, niin 1 - 5 muuta sen mukaan, minkä arvon haluat.

Koodi:

 Sub setexmp () himmennetty Rnst Aset. Aseta Rnst = Alue ("A2: A11") Rnst.Valitse Rnst.Copy varten i = 1 - 5 End Sub 

Vaihe 5: Valitse solu, johon haluat liittää tämän solualueen. Oletetaan, että haluamme aloittaa liittämisen sarakkeesta B2 ja sitten datan liittämisen tulisi olla dynaamista, ts. Sen pitäisi valita vierekkäiset sarakkeet automaattisesti yksi kerrallaan päällekkäin. Siksi syntaksi olisi ”Solu (rivinumero, sarakkeen numero) .PasteSpecial”.

Solut (2, i + 1) .PasteSpecial, tässä, 2-> edustaa rivinumeroa ja, i + 1 -> edustaa sarakkeen numeroa. i + 1 tarkoittaa ”For” -silmukassa ilmoitetun ensimmäisen arvon arvoa i = 1, joten sarakkeesta tulee 2, se määrittelee aloittavansa liittämisen sarakkeesta B. Ja kun arvo muuttuu, se valitsee vierekkäiset sarakkeet yksi kerrallaan.

Koodi:

 Subsetexmp () himmennetty Rnst Aset. Aseta Rnst = Alue ("A2: A11") Rnst.Valitse Rnst.Copy varten i = 1 - 5 solua (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Vaihe 6: Kirjoita ” Seuraava i ”, mikä tarkoittaa, että lisäät “i” -arvoa yksi kerrallaan, jotta sarakkeen liittäminen pysyy dynaamisena.

Koodi:

 Subsetexmp () himmennetty Rnst Aset. Aseta Rnst = Alue ("A2: A11") Rnst.Valitse Rnst.Copy varten i = 1 - 5 solua (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Vaihe 7: Paina “F8” nähdäksesi koodin suorittamisen riviltä ja näyttää solun liittämisen vierekkäisiin sarakkeisiin yksi kerrallaan.

Täällä voit nähdä, että i: n arvo on 1 ja tiedot on liitetty sarakkeeseen B haluamallasi tavalla.

Vaihe 8: Nyt kun painat uudelleen F8, näet, että nyt arvon i arvo on 2. Näin ollen 2 + 1 muuttuu 3: ksi ja tiedot liitetään soluun (2, 3), eli rivin arvo on sama, mutta sarake lukumäärän muutokset alla olevan kuvakaappauksen mukaisesti:

Kun toistosilmukka on valmis, näet tiedot liitettynä 5 kertaa, ts. Lukumäärästä 1–5 alkamalla liittää sarakkeesta B sarakkeeseen F seuraavasti:

Excel VBA -sarja - esimerkki 3

Oletetaan, että haluamme näyttää tietyn alueen solujen määrän viestiruudussa, joka ilmestyy napin painalluksella. Otetaan samat tiedot kuin alla.

Suoritamme myös tämän esimerkin koodin uudelle arkille. Lisää siis uusi arkki ja VBA-ikkunassa se tulee näkyviin seuraavasti:

Meidän on lisättävä komentopainikevaihtoehto. Se on ominaisuus excelistä, joten noudata seuraavia vaiheita:

Vaihe 1: Anna alajoukon nimi, esimerkiksi ”Setcount ()” alla olevan kuvakaappauksen osoittamalla tavalla:

Koodi:

 Sub Setcount () Loppu Sub 

Vaihe 2: Ilmoita sama muuttuja “Rnct” kuin alue osajoukossa, kuten alla olevassa kuvakaappauksessa näytetään:

Koodi:

 Sub Setcount () himmennettävä Rnct As Range End Sub 

Vaihe 3: Kirjoita sitten "Aseta" -sana ja anna alue.

Koodi:

 Sub Setcount () Dim Rnct As Range Set Rnct = Range ("A2: A11") End Sub 

Vaihe 4: Nyt kun alue on vahvistettu, meidän on näytettävä ponnahdusikkuna tai valintaikkuna, joka näyttää alueen solujen määrän. Käytä siis “MsgBox” -toimintoa, jonka suorittamisen yhteydessä lukumäärä ilmestyy valintaikkunaan. Kirjoita ”MsgBox muuttujan nimi.määrä”. Hetki muuttujan nimen kirjoittamisen jälkeen piste (.) Ilmestyy avattava pudotusvalikko, joka sisältää erilaisia ​​toimintoja, ja valitsisimme “count” tai kirjoittaisimme manuaalisesti “count”.

Kirjoita ”MsgBox Rnct.count” ja suorituksen jälkeen se näkyy laskurina.

Vaihe 5: Nyt haluamme lisätä komentopainikkeen ja napsauttaa sitä nappia, jonka viestiruudun pitäisi näkyä.

Napsauta ”Lisää” Kehittäjä-välilehdessä, kuten punaisessa ruudussa korostettu, ja näet avattavan luokan ”Lomakehallinnat”. Napsauta ensimmäistä suorakulmion laatikkomaista muotoa, joka meidän on piirrettävä ja asetettava manuaalisesti excel-arkkiin:

Vaihe 6: Kun napsautat suorakulmuruutua, piirrä ja aseta laatikko arkkiin ja kun aloitat piirtämisen, valintaikkuna tulee näkyviin kuten alla. Se on ”Assign Macro” -ikkunapainike ja valitse ”Setcount” -alajoukon makro. Napsauta “OK”.

Tämä tarkoittaa, että olemme määrittäneet laskurimakron tähän painikkeeseen. Ja napsauttamalla se suorittaa.

Vaihe 7: Se tulee näkyviin alla olevan kuvan mukaisesti.

Vaihe 8: Napsauta sitä hiiren kakkospainikkeella ja nimeä se uudelleen käyttämällä ” Muokkaa tekstiä ” -vaihtoehtoa alla esitetyllä tavalla:

Vaihe 9: Anna sille nimi “LASKEMINEN” ja näet sen Excel-muodossa laskettuna alla olevan kuvan mukaisesti.

Vaihe 10: Napsauta sitten ”LASKE” -painiketta: Kun olet napsauttanut ”LASAA” -painiketta, näyttöön tulee seuraavanlainen viestiruutu:

Kuten näemme, on 10 nimeä ja ne ovat osoittaneet oikean numeron alueelta A2 - A11.

Muistettavat asiat

  • Varmista, että Excel-nauhoihin on asetettu Kehittäjä-välilehti tämän VBA-koodien suorittamiseksi.
  • 'Aseta' käytetään enimmäkseen tietyn taulukon laskentataulukoissa / solualueella.

Suositellut artikkelit

Tämä on opas VBA-sarjaan. Tässä keskustellaan siitä, kuinka viittaus objektiin tai solualueelle määritetään käyttämällä excel VBA Set Avainsana käytännöllisten esimerkkien ja ladattavien Excel-mallien avulla. Alla on joitain hyödyllisiä VBA-artikkeleita -

  1. VBA-ketjutettu toiminto
  2. Oppaat Excel-kuvakesarjoissa
  3. Työskentely Range-solujen kanssa VBA: ssa
  4. Ratkaise yhtälö Excelissä

Luokka: