Mikä on VBA-taulukko Excelissä ja kuinka ohjelmoida yksi

VBA on ollut osa Microsoft Office -pakettia useiden vuosien ajan. Vaikka siinä ei ole VB-sovelluksen kaikkia toimintoja ja tehoja, VBA tarjoaa Office -käyttäjille joustavuutta Office - tuotteiden integroimiseen ja niissä tekemäsi työn automatisointiin.

Yksi VBA(VBA) :n tehokkaimmista työkaluista on kyky ladata koko joukko tietoja yhteen muuttujaan, jota kutsutaan taulukoksi. Lataamalla tietoja tällä tavalla, voit käsitellä tai suorittaa laskelmia kyseiselle tietoalueelle monin eri tavoin.

Joten mikä on VBA - taulukko? Tässä artikkelissa vastaamme tähän kysymykseen ja näytämme, kuinka voit käyttää sitä omassa VBA-skriptissäsi(your own VBA script) .

Mikä on VBA-taulukko?

VBA -taulukon käyttäminen Excelissä on(Excel) hyvin yksinkertaista, mutta taulukoiden käsitteen ymmärtäminen voi olla hieman monimutkaista, jos et ole koskaan käyttänyt sitä.

Ajattele(Think) taulukkoa kuin laatikkoa, jonka sisällä on osia. Yksiulotteinen taulukko on laatikko, jossa on yksi rivi osia. Kaksiulotteinen taulukko on laatikko, jossa on kaksi riviä osia.

Voit laittaa tiedot tämän "laatikon" jokaiseen osioon missä tahansa järjestyksessä.

VBA -skriptin alussa sinun on määritettävä tämä "laatikko" määrittämällä VBA - taulukkosi. Joten luodaksesi taulukon, johon mahtuu yksi tietojoukko (yksiulotteinen taulukko), kirjoitat seuraavan rivin.

Dim arrMyArray(1 To 6) As String

Myöhemmin ohjelmassasi voit sijoittaa tietoja mihin tahansa tämän taulukon osioon viittaamalla sulkeiden sisällä olevaan osioon.

arrMyArray(1) = "Ryan Dube"

Voit luoda kaksiulotteisen taulukon käyttämällä seuraavaa riviä.

Dim arrMyArray(1 To 6,1 to 2) As Integer

Ensimmäinen numero edustaa riviä ja toinen on sarake. Joten yllä oleva taulukko voisi sisältää 6 rivin ja 2 sarakkeen alueen.

Voit ladata minkä tahansa tämän taulukon elementin tiedoilla seuraavasti.

arrMyArray(1,2) = 3

Tämä lataa 3:n soluun B1.

Taulukko voi sisältää minkä tahansa tyyppistä dataa tavallisena muuttujana, kuten merkkijonoja, loogisia arvoja, kokonaislukuja, kellukkeita ja paljon muuta.

Suluissa oleva luku voi myös olla muuttuja. Ohjelmoijat käyttävät yleensä For Loopia(Loop) laskeakseen taulukon kaikki osat ja ladatakseen laskentataulukon tietosoluja taulukkoon. Näet kuinka tämä tehdään myöhemmin tässä artikkelissa.

Kuinka ohjelmoida VBA-taulukko Excelissä

Katsotaanpa yksinkertaista ohjelmaa, jossa haluat ehkä ladata tietoja laskentataulukosta moniulotteiseen taulukkoon.

Katsotaanpa esimerkkinä tuotteen myyntilaskentataulukkoa, josta haluat vetää myyntiedustajan nimen, tuotteen ja kokonaismyynnin pois laskentataulukosta.

Huomaa, että VBA :ssa, kun viittaat riveihin tai sarakkeisiin, lasket rivit ja sarakkeet(rows and columns) alkaen vasemmasta yläkulmasta 1:stä. Rep-sarake on siis 3, kohdesarake on 4 ja sarakkeen kokonaismäärä on 7.

Jos haluat ladata nämä kolme saraketta kaikille 11 riville, sinun on kirjoitettava seuraava komentosarja.

Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i

Huomaat, että otsikkorivin ohittaminen edellyttää, että ensimmäisen For lookin rivin numero alkaa 2:sta 1:n sijaan. Tämä tarkoittaa, että sinun on vähennettävä 1 taulukon rivin arvosta, kun lataat solun arvoa. taulukkoon käyttämällä soluja(Cells) (i, j). Arvo.

Mihin VBA-taulukon komentosarja(Your VBA Array Script) lisätään

Jotta voit sijoittaa ohjelman VBA -komentosarjan Exceliin(Excel) , sinun on käytettävä VBA - editoria. Pääset tähän valitsemalla Kehittäjä(Developer) - valikon ja valitsemalla nauhan Ohjaimet(Controls) -osiosta Näytä koodi .(View Code)

Jos Kehittäjä(Developer) ei näy valikossa, sinun on lisättävä se. Voit tehdä tämän valitsemalla Tiedosto(File) ja asetukset(Options) avataksesi Excelin asetukset -ikkunan.

Muuta valintakomennot pudotusvalikosta Kaikki komennot(All Commands) . Valitse vasemmanpuoleisesta valikosta Kehittäjä ja valitse (Developer)Lisää(Add) - painike siirtääksesi sen oikeanpuoleiseen ruutuun. Ota se käyttöön valitsemalla valintaruutu ja lopeta valitsemalla OK .

Kun Koodieditori(Code Editor) - ikkuna avautuu, varmista, että taulukko, jossa tietosi ovat, on valittuna vasemmasta ruudusta. Valitse vasemmasta pudotusvalikosta Työtaulukko ja oikealta (Worksheet)Aktivoi(Activate) . Tämä luo uuden aliohjelman nimeltä Worksheet_Activate ().

Tämä toiminto suoritetaan aina, kun laskentataulukkotiedosto avataan. Liitä koodi tämän aliohjelman skriptiruutuun.

Tämä komentosarja käy läpi 12 riviä ja lataa edustajan nimen sarakkeesta 3, tuotteen sarakkeesta 4 ja kokonaismyynnistä sarakkeesta 7.

Kun molemmat For-silmukat ovat valmiit, kaksiulotteinen taulukko arrMyArray sisältää kaikki alkuperäisestä taulukosta määrittämäsi tiedot.

Taulukon manipulointi Excel VBA:ssa

Oletetaan, että haluat soveltaa 5 %:n myyntiveroa kaikkiin lopullisiin myyntihintoihin ja kirjoittaa sitten kaikki tiedot uudelle taulukolle.

Voit tehdä tämän lisäämällä toisen For-silmukan ensimmäisen jälkeen komennolla kirjoittaa tulokset uudelle taulukolle.

For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k

Tämä "purkaa" koko taulukon taulukkoon2 ja lisärivillä(Sheet2) , joka sisältää summan kerrottuna 5 %:lla verosummalla.

Tuloksena oleva arkki näyttää tältä.

Kuten näet, VBA -taulukot Excelissä(Excel) ovat erittäin hyödyllisiä ja yhtä monipuolisia kuin mikä tahansa muu Excel-temppu(any other Excel trick)

Yllä oleva esimerkki on hyvin yksinkertainen taulukon käyttö. Voit luoda paljon suurempia taulukoita ja suorittaa lajittelua, keskiarvoa tai monia muita toimintoja niihin tallentamiasi tietoja vastaan.

Jos haluat olla todella luova, voit jopa luoda kaksi taulukkoa , jotka sisältävät solualueen(containing a range of cells) kahdesta eri taulukosta, ja suorittaa laskelmia kunkin taulukon elementtien välillä.

Sovelluksia rajoittaa vain mielikuvituksesi.



About the author

Olen kokenut Windows 10- ja Windows 11/10 -järjestelmänvalvoja, jolla on kokemusta Edgestä. Minulla on runsaasti tietoa ja kokemusta tarjottavana tällä alalla, minkä vuoksi uskon, että osaamisestani on hyötyä yrityksellesi. Vuosien kokemukseni sekä Windows 10:stä että Edgestä antaa minulle mahdollisuuden oppia nopeasti uusia tekniikoita, ratkaista ongelmia nopeasti ja ottaa vastuuta yrityksesi johtamisesta. Lisäksi kokemukseni Windows 10:stä ja Edgestä tekevät minut erittäin perehtyneeksi käyttöjärjestelmän kaikista näkökohdista, mikä olisi hyödyllistä palvelimien hallinnassa tai ohjelmistosovellusten hallinnassa.



Related posts