Excel VBA taulukon luomiseen alueesta (6 esimerkkiä)

  • Jaa Tämä
Hugh West

Työskennellessään Microsoft Excel , voimme hyödyntää suurten tietomäärien tarkastelua. Ja näiden tietosarjojen muuttaminen taulukoksi on yksi parhaista vaihtoehdoista. Excel-taulukoiden avulla voimme nopeasti lajitella ja suodattaa tietoja, lisätä uusia tietueita ja päivittää kaavioita ja PivotTables-taulukoita välittömästi. Ja Excel VBA auttaa käyttäjää mukauttamaan sovellusta vain muutamalla yksinkertaisella koodilla. Tässä artikkelissa näemme joitakin esimerkkejä sovelluksen mukauttamisesta. Excel VBA luoda taulukko alueesta.

Lataa harjoituskirja

Voit ladata työkirjan ja harjoitella niiden avulla.

Luo taulukko Range.xlsm:stä

6 esimerkkiä Excel VBA: sta taulukon luomiseksi alueesta

Taulukot alkoivat Excelin valikkopainoksessa luetteloina, mutta niiden toiminnallisuus kasvoi nauhaversioissa. Tietoalueen muuntaminen taulukoksi laajentaa toimintoja, jolloin voit työskennellä nopeammin ja helpommin. To. muuntaa alueen taulukoksi käyttämällä VBA on helpoin tapa kuin nauhan käyttö.

Oletetaan, että meillä on yksinkertainen tietokokonaisuus, joka sisältää joitakin kohteita sarakkeessa B , näiden tuotteiden määrä sarakkeessa C ja kunkin tuotteen kokonaismyynti sarakkeessa D Nyt haluamme muuntaa data-alueen taulukoksi. Esitellään erilaisia esimerkkejä ja vaiheittaisia ohjeita taulukon luomiseksi alueesta. B4:D9 Excel VBA:lla.

Käytä ListObjects.Add tehdä alueesta Excel-taulukko. Spreadsheet-objektilla on ominaisuus ListObjects . ListObjects on tekniikka nimeltä Lisää Kriteerit, jotka koskevat .add ovat seuraavat.

expression .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

Ja käytä SourceType xlSrcRange .

1. Excel VBA taulukon luomiseen alueesta

Osoitteessa Excel VBA , käyttäjät voivat helposti käyttää koodia, joka toimii excel-valikkoina nauhalta. Käyttääksesi koodia VBA koodia, jolla luodaan taulukko alueesta, seurataan menettelyä alaspäin.

VAIHEET:

  • Mene ensin osoitteeseen Kehittäjä välilehti nauhasta.
  • Toiseksi Koodi luokkaan, klikkaa Visual Basic avataksesi Visual Basic Editor . tai paina Alt + F11 avataksesi Visual Basic Editor .
  • Sen sijaan voit napsauttaa hiiren kakkospainikkeella hiiren oikealla painikkeella laskentataulukkoa ja siirtyä kohtaan Näytä koodi Tämä vie sinut myös Visual Basic Editor .

  • Tämä näkyy Visual Basic Editor jossa kirjoitamme koodit taulukon luomiseksi alueesta.
  • Kolmanneksi, klikkaa Moduuli alkaen Lisää pudotusvalikkopalkki.

  • Tämä luo Moduuli työkirjassasi.
  • Kopioi ja liitä VBA alla oleva koodi.

VBA-koodi:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Tämän jälkeen suorita koodi napsauttamalla painiketta RubSub painiketta tai painamalla pikanäppäintä F5 .

Sinun ei tarvitse muuttaa koodia, vaan voit vain muuttaa aluetta tarpeidesi mukaan.

  • Ja lopuksi, noudattamalla ohjeita luodaan taulukko alueesta B4:D9 .

VBA-koodin selitys

 Sub Create_Table() 

Sub on koodin osa, jota käytetään koodissa olevan työn käsittelyyn, mutta joka ei palauta mitään arvoa. Se tunnetaan myös aliproseduurina. Nimeämme siis proseduurimme seuraavasti Create_Table() .

 Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Taulukko1" 

Tämä on tärkein koodirivi, jolla alue muunnetaan taulukoksi. Kuten jo tiedämme, että ListObjects.Add muuttaa alue Excel-taulukoksi. Ja käytämme apuna xlSrcRange Lisäksi ilmoitamme alueen Range("B4:D9") Nimeä lopuksi taulukkomme seuraavasti Taulukko1 .

 End Sub 

Tämä lopettaa toimenpiteen.

Lue lisää: Pivot-taulukon alueen päivittäminen (5 sopivaa menetelmää)

2. Taulukon rakentaminen alueesta Excel VBA:n avulla

Katsotaanpa toinen esimerkki taulukon rakentamisesta alueesta Excel VBA:n avulla.

ASKELEET:

  • Mene ensin osoitteeseen Develope r-välilehti nauhasta.
  • Toiseksi, klikkaa Visual Basic avataksesi Visual Basic Editor .
  • Toinen tapa avata Visual Basic Editor on yksinkertaisesti painaa Alt + F11 .
  • Tai napsauta hiiren kakkospainikkeella arkkia ja valitse sitten Näytä koodi .
  • Siirry seuraavaksi osoitteeseen Lisää ja valitse Moduuli avattavasta valikosta.
  • Tämä avaa Visual Basic -ikkunan.
  • Sen jälkeen kopioi ja liitä VBA-koodi alla.

VBA-koodi:

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • Paina lisäksi F5-näppäin tai klikkaa Suorita Sub painiketta koodin suorittamiseksi.

  • Ja, saat tuloksen, joka on esitetty kuvassa Menetelmä 1 .

VBA-koodin selitys

 Dim tb2 As Range Dim wsht As Worksheet (Työarkki) 

The DIM lausunto osoitteessa VBA viittaa " julistaa, " ja sitä on käytettävä muuttujan ilmoittamiseen. Joten ilmoitamme alueemme muuttujaksi tb2 ja laskentataulukko ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Set -ohjelman avulla voimme yksinkertaisesti välttää sen, että meidän on kirjoitettava valitsemamme alue uudelleen ja uudelleen koodia suorittaessamme. Asetamme siis alueemme nykyiseksi alueeksi ja työarkkimme aktiiviseksi työarkiksi.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" 

Tällä koodirivillä luomme taulukon alueesta ja nimeämme taulukkomme seuraavasti Taulukko2 .

Lue lisää: Excel-taulukon käyttäminen VBA:n avulla (9 mahdollista tapaa)

3. Taulukon luominen alueesta VBA:lla Excelissä

Tarkastellaan toista esimerkkiä Excel VBA:n käytöstä taulukon luomiseksi alueesta.

ASKELEET:

  • Valitse aluksi koko alue, jonka haluat muuntaa taulukoksi.
  • Toiseksi, napsauta Kehittäjä välilehti nauhassa.
  • Kolmanneksi, käynnistä Visual Basic Editor klikkaamalla Visual Basic .
  • Vaihtoehtoisesti voit käyttää Visual Basic Editor painamalla Alt + F11 .
  • Tai, klikkaa hiiren oikealla arkin päällä ja valitse Näytä koodi valikosta.
  • Valitse seuraavaksi Moduuli pudotusvalikosta kohdasta Lisää .
  • Visual Basic -ikkuna tulee näkyviin.
  • Kirjoita koodi sinne.

VBA-koodi:

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • Paina lopuksi F5-näppäin koodin suorittamiseksi.

  • Ja tämä luo taulukon data-alueesta, jonka saimme osoitteesta Menetelmä 1 .

Lue lisää: Taulukon tekeminen Excelissä (mukauttamalla)

Samanlaisia lukemia

  • Laskettu kentän summa jaettuna lukumäärällä Pivot-taulukossa
  • Kuinka havainnollistaa suhteellinen frekvenssijakauma Excelissä
  • Excel Pivot-taulukon ryhmittely viikon mukaan (3 sopivaa esimerkkiä)
  • [Korjaus] Päivämääriä ei voi ryhmitellä Pivot-taulukossa: 4 mahdollista ratkaisua
  • Kuinka tehdä kuoletusluettelo Excelissä (4 menetelmää)

4. Soveltaa VBA:ta dynaamisen taulukon luomiseen alueesta

Tutustutaanpa toiseen tapaan luoda taulukko alueesta Excel VBA:n avulla.

ASKELEET:

  • Aloita avaamalla nauha ja valitsemalla valikosta Kehittäjä vaihtoehto.
  • Sitten, jotta pääset käsiksi Visual Basic Editor , klikkaa Visual Basic .
  • Painaminen Alt + F11 tuo esiin myös Visual Basic Editor .
  • Vaihtoehtoisesti, klikkaa hiiren oikealla arkki ja valitse Näytä koodi avautuvasta valikosta.
  • Nyt, alkaen Lisää pudotusvalikosta, valitse Moduuli .
  • Kopioi ja liitä sitten VBA seuraava koodi.

VBA-koodi:

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))) Aseta tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With End With End WithSub 
  • Suorita koodi painamalla F5 avain.

  • Kuten kuvassa Menetelmä 1 kuvassa taulukko rakennetaan alueesta.

VBA-koodin selitys

 Sub Create_Dynamic_Table1() 

Tällä rivillä ilmoitetaan aliprosessin nimi.

 Dim tbOb As ListObject Dim TblRng As Range 

Tätä kaksirivistä käytetään muuttujien ilmoittamiseen.

 With Sheets("Example4") 

The Lausunnolla avulla voit tehdä sarjan lausekkeita yhdelle objektille ilman, että objektin nimeä tarvitsee muuttaa uudelleen. Joten, me liitämme Osoitteessa lausunto arkin nimen kanssa.

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

Ne ovat vastaavasti viimeisen rivin ja viimeisen sarakkeen löytämiseksi.

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Alue taulukon luomiseksi.

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Luo taulukko edellä määritellyllä alueella.

 tbOb.Name = "DynamicTable1" 

Taulukon nimen määrittäminen

 tbOb.TableStyle = "TableStyleMedium14" 

Määritä taulukon tyyli.

Lue lisää: Luo taulukko Excelissä pikakuvakkeen avulla (8 menetelmää)

5. Tee dynaaminen taulukko alueesta

Seuraavaksi tarkastellaan toista Excel VBA -menetelmää taulukon luomiseksi alueesta.

ASKELEET:

  • Aloita avaamalla nauha ja valitsemalla Kehittäjä avattavasta valikosta.
  • Valitse sitten Visual Basic avataksesi Visual Basic Editor .
  • The Visual Basic Editor pääsee myös painamalla Alt + F11 .
  • Vaihtoehtoisesti voit klikkaa hiiren oikealla arkki ja valitse Näytä koodi ponnahdusvalikosta.
  • Valitse sen jälkeen Moduuli alkaen Lisää pudotusvalikosta.
  • Kopioi ja liitä sitten seuraava VBA-koodi.

VBA-koodi:

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End With End Sub 
  • Lopuksi suorita koodi painamalla F5 näppäimistölläsi, ja näet tuloksen laskentataulukossasi.

  • Ja kuten on osoitettu Menetelmä 1 kuvassa taulukko muodostetaan alueesta.

Lue lisää: Miten Excel-taulukot näyttävät hyvältä (8 tehokasta vinkkiä)

6. Käytä Excel VBA:ta dynaamisen taulukon rakentamiseen.

Tutustutaan toiseen Excel VBA -menetelmään taulukon muodostamiseksi alueesta.

ASKELEET:

  • Alussa mene osoitteeseen Kehittäjä tab> Visual Basic > Lisää > Moduuli .
  • Tai, klikkaamalla hiiren oikealla avautuu ikkuna. Siitä siirry kohtaan Näytä koodi .
  • Ja tämä vie sinut Visual Basic Editor kenttä, johon voimme kirjoittaa VBA-makroja.
  • Toisaalta painamalla Alt + F11 avaa myös Visual Basic Editor .
  • Kirjoita sen jälkeen VBA koodi.

VBA-koodi:

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • Ja suorita koodi nähdäksesi tuloksen painamalla painiketta F5-näppäin .

  • Ja taulukko luodaan alueesta, kuten kuvassa on esitetty Menetelmä 1 .

Lue lisää: Taulukon luominen Excelissä tietojen kanssa (5 tapaa)

Päätelmä

Edellä mainitut menetelmät auttavat sinua luomaan taulukon Excelin alueesta. Toivottavasti tämä auttaa sinua! Jos sinulla on kysyttävää, ehdotuksia tai palautetta, kerro meille kommenttiosioon. Tai voit vilkaista muita artikkeleita osoitteessa ExcelWIKI.com blogi!

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.