VBA listaTárgyak - Útmutató a ListObject Excel táblákhoz az Excel VBA-ban

Mik azok a ListObjects a VBA-ban?

Egy olyan táblázatban, amelyet általában látunk, az egy adatkészlet, de a VBA terminológiában sokkal több van, például a teljes adatlista tartománya, az oszlop a lista oszlop, a sor pedig a lista sor, és így tovább , így ezen tulajdonságok elérése érdekében van egy beépített függvényünk, amelyet Listobjects néven ismerünk, és amelyet a munkalap funkcióval együtt használunk.

A VBA ListObject segítségével az Excel táblákra hivatkozhatunk a VBA kód írása közben. A VBA LISTOBJECTS használatával létrehozhatunk, törölhetünk táblákat, és teljes egészében játszhatunk az Excel táblákkal a VBA kódban. Az Excel táblák trükkök, kezdők, sőt a középszintű felhasználóknak is nehéz dolgozniuk a táblákkal. Mivel ez a cikk az excel táblák hivatkozásáról szól a VBA kódolásban, jobb, ha jól ismeri az excel tábláit.

Amikor az adatokat táblákká konvertáljuk, már nem dolgozunk cellatartománnyal. Inkább táblázattartományokkal kell dolgoznunk, ezért ebben a cikkben megmutatjuk, hogyan kell működni az Excel táblákkal a VBA kódok hatékony megírásához.

Táblázatformátum létrehozása a ListObjects használatával az Excel VBA alkalmazásban

Nézze meg például az alábbi excel adatokat.

A VBA ListObject kód használatával létrehozunk egy táblázati formátumot ezekhez az adatokhoz.

  • Ehhez az adathoz először meg kell találnunk, mi az utoljára használt sor és oszlop, ezért definiáljon két változót ennek megtalálásához.

Kód:

Allista_tárgyak_Példa1 () Dim LR As Long Dim LC LC As Long End Sub
  • Az utoljára használt sor és oszlop megtalálásához használja az alábbi kódot.

Kód:

LR = cellák (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft). Oszlop
  • Most adjon meg még egy változót az adatok hivatkozásának tárolására.

Kód:

Dim Rng As Range
  • Most állítsa be a hivatkozást erre a változóra az alábbi kód használatával.

Kód:

Set Rng = Cells (1, 1). Átméretezés (LR, LC)

Most a VBA “ListObject.Add” metódust kell használnunk egy tábla létrehozásához, és az alábbiakban található annak szintaxisa.

ListObject.Add (Forrás, XlListObjectHasHeaders, Destination, TableStyleName)

Forrás: Ez nem az a cellatartomány, amelybe beszúrjuk a táblázatot. Tehát itt két érvet adhatunk meg, például: „xlSrcRange” és „xlSrcExternal”.

XlListObjectHasHeaders: Ha az adatokat beszúró táblázat fejlécekkel rendelkezik, vagy nincsenek. Ha igen, megadhatjuk az „xlYes” szót. Ha nem, akkor megadhatjuk az „xlNo” szót.

Cél: Ez nem más, mint az adattartományunk.

Táblázat stílus: Ha bármilyen táblázatot szeretne alkalmazni, akkor stílusokat is megadhatunk.

  • Ok, most az aktív munkalapon létrehozjuk a táblázatot, így az alábbi kód létrehozna egy táblázatot számunkra.

Kód:

Dim Ws munkalapkészletként Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng
  • Ezek után nevet kell adnunk ennek a táblának.

Kód:

Ws.ListObjects (1) .name = "EmpTable"
  • Az alábbiakban a teljes kódot találja.

Kód:

Allista_objektumok_Példa1 () Dim LR As Long Dim LC As Long LR = cellák (Rows. Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft). Column Dim Rng as Range Állítsa be az Rng = Cellákat (1, 1). Átméretezze (LR, LC) Dim Ws munkalapként Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng Ws.ListObjects (1). Név = " EmpTable "End Sub

Ok, futtassuk a kódot, és nézzük meg a varázslatot.

Létrehozta a táblázatot az említett adatokhoz, és a tábla nevét „EmpTable” néven adta meg.

Excel táblázatok formázása a VBA ListObjects segítségével

Az Excel táblázat létrehozása után a VBA ListObject gyűjtemény használatával együtt dolgozhatunk táblákkal.

  • Először definiálja a változót „ListObject” néven.

Kód:

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.

  • Az alábbiakban felsoroljuk a tevékenységre vonatkozó kódokat.

Kód:

Allista_Tárgyak_Példa2 () Dim MyTable mint ListObject Set MyTable = ActiveSheet.ListObjects ("EmpTable") MyTable.DataBodyRange.Select 'Adattartomány fejléc nélküli kiválasztásához MyTable.Range.Select' Adattartomány kiválasztása fejlécekkel MyTable.HeaderRowRange. Válassza ki a táblázat fejlémsorait: MyTable.ListColumns (2) .Range.Select 'A 2. oszlop kiválasztásához, beleértve a MyTable.ListColumns (2) .DataBodyRange.Select' A 2. oszlop kijelöléséhez fejléc End Sub nélkül

Így használhatjuk a „ListObject” gyűjteményt az excel táblákkal való játékhoz.

Dolgok, amikre emlékezni kell

  • A VBA ListObject objektumok gyűjteménye az Excel táblák referenciájához.
  • A ListObject gyűjtemény eléréséhez először meg kell határoznunk, hogy melyik munkalapra hivatkozunk.

érdekes cikkek...