VBA-luettelokohteet | Opas ListObject Excel -taulukoihin Excel VBA: ssa

Mitä ovat ListObjects VBA: ssa?

Taulukossa, jonka näemme yleensä, 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: ää 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 Excelin taulukoista.

Kun data muunnetaan taulukoiksi, emme enää toimi solualueiden kanssa, vaan meidän on työskenneltävä taulukoiden alueiden 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.

Voit ladata tämän VBA ListObjects Excel -mallin täältä - VBA ListObjects Excel -malli
  • 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ä alla olevaa koodia löytääksesi viimeksi käytetyn rivin ja sarakkeen.

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 syntaksi.

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 tai ei. Jos kyllä, voimme tarjota "xlYes", jos ei, voimme tarjota "xlNo".

Kohde: Tämä ei ole muuta kuin tietojemme alue.

Taulukon tyyli: Jos haluat käyttää mitä tahansa taulukon tyyliä, voimme tarjota tyylejä.

  • Ok, nyt aktiivisessa taulukossa luodaan taulukko, 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 sen alla 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 aktiviteettikoodeista.

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 tietoväli 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 kokoelma objekteja, jotka viittaavat Excel-taulukoihin.
  • Jotta pääsisimme ListObject-kokoelmaan, meidän on ensin määritettävä mikä laskentataulukko tarkoitamme.

$config[zx-auto] not found$config[zx-overlay] not found