Mitä ovat ListObjects VBA: ssa?
Taulukossa, jonka näemme normaalisti, on tietojoukko, mutta VBA-terminologiassa on paljon muuta, kuten koko tietoluettelon alue, sarake tunnetaan luettelosarakkeena ja rivi tunnetaan luettelorivinä ja niin edelleen , joten tämän ominaisuuden saamiseksi meillä on sisäänrakennettu toiminto, joka tunnetaan nimellä Listobjects ja jota käytetään laskentataulukko-funktion kanssa.
VBA ListObject on tapa viitata Excel-taulukoihin kirjoitettaessa VBA-koodia. Käyttämällä VBA LISTOBJECTS -ohjelmaa voimme luoda, poistaa taulukon ja voimme täysin leikkiä VBA-koodin sisältävien excel-taulukoiden kanssa. Excel-taulukot ovat hankalia, aloittelijoita, ja jopa keskitason käyttäjien on vaikea työskennellä taulukoiden kanssa. Koska tässä artikkelissa puhutaan Excel-taulukoiden viittaamisesta VBA-koodauksessa, on parempi, että sinulla on hyvät tiedot taulukoista Excelissä.
Kun tiedot muunnetaan taulukoiksi, emme enää toimi solualueiden kanssa. Meidän on pikemminkin työskenneltävä taulukkoalueiden kanssa, joten tässä artikkelissa näytämme sinulle, kuinka työskennellä Excel-taulukoiden kanssa VBA-koodien kirjoittamiseksi tehokkaasti.

Luo taulukon muoto käyttämällä Excel VBA: n ListObjects-sovellusta
Katso esimerkiksi alla olevat Excel-tiedot.

VBA ListObject -koodia käyttämällä luomme taulukkomuodon näille tiedoille.
- Tätä tietoa varten on ensin löydettävä viimeinen käytetty rivi ja sarake, joten määritä kaksi muuttujaa tämän löytämiseksi.
Koodi:
Alaluettelo_objektit_esimerkki1 () Dim LR niin pitkä Dim LC LC Long End sub

- Käytä viimeksi käytettyä riviä ja saraketta alla olevan koodin avulla.
Koodi:
LR = Solut (Rivit.Määrä, 1) .Loppu (xlUp) .Rivi LC = Solut (1, Sarakkeet.Määrä) .End (xlToLeft) .Sarake

- Määritä nyt yksi muuttuja tietojen viitteen säilyttämiseksi.
Koodi:
Hämärä Rng-alue

- Aseta nyt viittaus tähän muuttujaan alla olevan koodin avulla.
Koodi:
Aseta Rng = Solut (1, 1) .Koko (LR, LC)

Nyt meidän on käytettävä VBA "ListObject.Add" -menetelmää taulukon luomiseen, ja alla on saman syntaksit.
ListObject.Add (lähde, XlListObjectHasHeaders, Destination, TableStyleName)
Lähde: Tämä ei ole mikään solualue, johon taulukko lisätään. Joten voimme tässä antaa kaksi argumenttia, eli "xlSrcRange" ja "xlSrcExternal".
XlListObjectHasHeaders: Jos taulukkoon, joka lisää tietoja, on otsikot. Jos kyllä, voimme tarjota ”xlYes”. Jos ei, voimme antaa "xlNo".
Kohde: Tämä ei ole muuta kuin tietojemme alue.
Taulukon tyyli: Jos haluat käyttää mitä tahansa taulukon tyyliä, voimme tarjota tyylit.
- Ok, nyt aktiivisessa taulukossa luomme taulukkoa, joten alla oleva koodi loisi taulukon meille.
Koodi:
Himmennä Ws taulukkosarjana Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng

- Tämän jälkeen meidän on annettava tälle taulukolle nimi.
Koodi:
Ws.ListObjects (1). Name = "EmpTable"

- Alla on täydellinen viitteesi koodi.
Koodi:
Alaluettelo_objektit_esimerkki1 () himmennä LR niin kauan himmeä LC niin pitkä LR = solut (rivit.luku, 1) .End (xlUp) .rivi LC = solut (1, sarakkeet.luku) .End (xlToLeft). Sarakkeen himmentimen alue alue Aseta Rng = Solut (1, 1). Muuta (LR, LC) Dim Ws -taulukkoa Aseta Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng Ws.ListObjects (1). Nimi = " EmpTable "End Sub
Ok, ajetaan koodi ja katsotaan taika.

Se on luonut taulukon mainituille tiedoille ja antanut taulukon nimeksi "EmpTable".
Excel-taulukoiden muotoilu VBA ListObjects -sovelluksella
Kun Excel-taulukko on luotu, voimme työskennellä taulukoiden kanssa käyttämällä VBA ListObject-kokoelmaa.
- Määritä ensin muuttuja nimellä “ListObject”.
Koodi:
Alaluettelo_objektit_esimerkki2 () Himmennä MyTable kuin ListObject End Sub

- Aseta nyt viittaus tähän muuttujaan taulukon nimellä.
Koodi:
Alaluettelo_objektit_esimerkki2 () Himmennä MyTable kuin ListObject Set MyTable = ActiveSheet.ListObjects ("EmpTable") End Sub

Nyt muuttuja "MyTable" sisältää viitteen taulukolle "EmpTable".
- Syötä muuttujan nimi ja laita piste nähdäksesi VBA ListObjectin ominaisuudet ja menetelmät.

Esimerkiksi, jos haluamme valita koko taulukon, meidän on käytettävä "Range" -objektia, ja tässä on käytettävä "Select" -menetelmää.
Koodi:
MyTable.Range.Valitse

Tällöin valitaan koko tietotaulukko, otsikko mukaan lukien.
- Jos haluat valita vain taulukon sisällön ilman otsakkeita, meidän on käytettävä ”DataBodyRange”.
Koodi:
MyTable.DataBodyRange.Select

Näin voimme leikkiä pöytiin.
- Alla on luettelo toimintakoodeista viitteellesi.
Koodi:
Alaluettelo_objektit_esimerkki2 () Himmennä MyTable kuin ListObject Set MyTable = ActiveSheet.ListObjects ("EmpTable") MyTable.DataBodyRange.Select 'Valitse tietoväli ilman otsikoita MyTable.Range.Select' Valitse tietoalue otsikoilla MyTable.HeaderRowRange. Valitse taulukon otsikkorivit MyTable.ListColumns (2) .Range.Select 'Sarakkeen 2 valitsemiseksi, mukaan lukien otsikko MyTable.ListColumns (2) .DataBodyRange.Select' Valitse sarake 2 ilman otsikon End Sub
Näin voimme käyttää “ListObject” -kokoelmaa leikkimään excel-pöytien kanssa.
Muistettavaa
- VBA ListObject on objektien kokoelma vertailutaulukkoihin.
- Jotta pääsisimme ensin ListObject-kokoelmaan, meidän on määritettävä mikä laskentataulukko tarkoitamme.