VBA loeteluobjektid - Juhend ListObjecti Exceli tabelitele Exceli VBA-s

Lang L: none (table-of-contents)

Mis on VBA-s ListObjects?

Tavaliselt on tabelis, mida me näeme, andmekogum, kuid VBA terminoloogias on palju muud, näiteks kogu andmete loendi vahemiku vahemik, veerg on nimekirja veerg ja rida loendi rida jne , nii et nendele omadustele juurdepääsemiseks on meil sisseehitatud funktsioon nimega Listobjects ja mida kasutatakse töölehe funktsiooniga.

VBA ListObject on viis viidata Exceli tabelitele VBA koodi kirjutamise ajal. Kasutades VBA LISTOBJECTS, saame tabeli luua, kustutada ja täielikult mängida VAB-koodi Exceli tabelitega. Exceli tabelid on keerulised, algajad ja isegi kesktaseme kasutajatel on tabelitega töötamine keeruline. Kuna selles artiklis räägitakse Exceli tabelite viitamisest VBA kodeerimisel, on parem, kui teil on Exceli tabelite kohta head teadmised.

Kui andmed on tabeliteks teisendatud, ei tööta me enam lahtrivahemikuga. Pigem peame töötama tabelivahemikega, nii et selles artiklis näitame teile, kuidas töötada Exceli tabelitega VBA-koodide tõhusaks kirjutamiseks.

Looge tabelivorming Exceli VBA loendis ListObjects

Näiteks vaadake allolevaid Exceli andmeid.

VBA ListObject koodi abil loome nende andmete jaoks tabelivormingu.

  • Kõigi nende andmete jaoks peame leidma, mis on viimati kasutatud rida ja veerg, nii et määrake selle leidmiseks kaks muutujat.

Kood:

Alamloend_objektid_näide1 () Hämarda LR nii pikk kui hämar LC kui pikk ots alam
  • Viimati kasutatud rea ja veeru leidmiseks kasutage allolevat koodi.

Kood:

LR = Lahtrid (Read.Count, 1) .End (xlUp) .Rida LC = Cells (1, Columns.Count) .End (xlToLeft). Veerg
  • Andmete viite hoidmiseks määrake nüüd veel üks muutuja.

Kood:

Hämar Rng vahemikuna
  • Nüüd määrake viide sellele muutujale, kasutades allolevat koodi.

Kood:

Määra Rng = lahtrid (1, 1). Suuruse muutmine (LR, LC)

Nüüd peame tabeli loomiseks kasutama meetodit VBA “ListObject.Add” ja allpool on toodud selle süntaks.

ListObject.Add (Source, XlListObjectHasHeaders, Destination, TableStyleName)

Allikas: see pole midagi, millise lahtrivahemiku jaoks me tabeli sisestame. Seega võime siin esitada kaks argumenti, st "xlSrcRange" ja "xlSrcExternal".

XlListObjectHasHeaders: kui andmete sisestamise tabelis on päised või mitte. Kui jah, saame pakkuda „xYYES”. Kui ei, siis saame anda „xlNo”.

Sihtkoht: see pole midagi muud kui meie andmevahemik.

Tabeli stiil: kui soovite kasutada mis tahes tabeli stiili, võime pakkuda stiile.

  • Ok, nüüd aktiivses lehes loome tabelit, nii et järgmine kood looks meile tabeli.

Kood:

Hämarda Ws töölehekomplektina Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng
  • Pärast seda peame sellele tabelile nime andma.

Kood:

Ws.ListObjects (1) .name = "EmpTable"
  • Allpool on teie viite täielik kood.

Kood:

Alamloend_objektid_näide1 () Dim LR As Long Dim LC As Long LR = Lahtrid (Read.Count, 1) .End (xlUp) .Rida LC = Cells (1, Columns.Count) .End (xlToLeft). Column Dim Rng as Range Määra Rng = lahtrid (1, 1). Muuda suurust (LR, LC) Dim Ws töölehekomplektina Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng Ws.ListObjects (1). Nimi = " EmpTable "End Sub

Ok, käivitame koodi ja vaatame võlu.

See on loonud tabeli mainitud andmetele ja andnud tabeli nimeks “EmpTable”.

Exceli tabelite vormindamine VBA ListObjects abil

Kui Exceli tabel on loodud, saame tabelitega töötada, kasutades kollektsiooni VBA ListObject.

  • Kõigepealt määratlege muutuja kui „ListObject”.

Kood:

Sub List_Objects_Example2() Dim MyTable As ListObject End Sub
  • Now set the reference to this variable by using the table name.

Code:

Sub List_Objects_Example2() Dim MyTable As ListObject Set MyTable = ActiveSheet.ListObjects("EmpTable") End Sub

Now the variable “MyTable” holds the reference for the table “EmpTable.”

  • Enter the variable name and put a dot to see the properties and methods of the VBA ListObject.

For example, if we want to select the entire table, then we need to use the “Range” object, and under this, we need to use the “Select” method.

Code:

MyTable.Range.Select

This would select the entire data table, including the heading.

  • If you want to select only the contents of the table without headers, then we need to use “DataBodyRange.”

Code:

MyTable.DataBodyRange.Select

Like this, we can play around with tables.

  • Allpool on loetelu tegevuskoodidest.

Kood:

Alamloend_objektid_näide2 () Hämardage MyTable-fail loendina Object Set MyTable = ActiveSheet.ListObjects ("EmpTable") MyTable.DataBodyRange.Select 'Andmete vahemiku valimiseks ilma päisteta MyTable.Range.Select' Andmete vahemiku valimiseks päistega MyTable.HeaderRowRange. Valige tabeli päiseread MyTable.ListColumns (2) .Range.Select '2. veeru valimiseks koos päisega MyTable.ListColumns (2) .DataBodyRange.Select' 2. veeru valimiseks ilma päise lõpu alamvalikuta

Nii saame Exceli tabelitega ringi mängimiseks kasutada kollektsiooni “ListObject”.

Asjad, mida meeles pidada

  • VBA ListObject on objektide kogu, mis viitab Exceli tabelitele.
  • Kõigepealt loendisse ListObject pääsemiseks peame määrama, milline tööleht on viide.

Huvitavad Artiklid...