VBA sarakstsObjekti | Guide to ListObject Excel tabulas programmā Excel VBA

Kas ir ListObjects VBA?

Tabulā parasti mēs redzam datu kopu, bet VBA terminoloģijā ir daudz vairāk, piemēram, ir kopējais datu sarakstu diapazons, kolonna ir pazīstama kā saraksta kolonna un rinda ir pazīstama kā saraksta rinda utt. , tāpēc, lai piekļūtu šīm īpašībām, mums ir iebūvēta funkcija, kas pazīstama kā Listobjects un kas tiek izmantota ar darblapas funkciju.

VBA ListObject ir veids, kā atsaukties uz Excel tabulām, rakstot VBA kodu. Izmantojot VBA LISTOBJECTS, mēs varam izveidot, izdzēst tabulu, un pilnīgi mēs varam spēlēt kopā ar Excel tabulām VBA kodā. Excel tabulas ir grūtas, iesācēji, un pat vidējā līmeņa lietotājiem ir grūti strādāt ar tabulām. Tā kā šajā rakstā ir runāts par Excel tabulu norādīšanu VBA kodēšanā, labāk jums ir labas zināšanas par Excel tabulām.

Kad dati tiek konvertēti tabulās, mēs vairs nedarbojamies ar šūnu diapazonu, drīzāk mums ir jādarbojas ar tabulu diapazoniem, tāpēc šajā rakstā mēs parādīsim, kā strādāt ar Excel tabulām, lai efektīvi rakstītu VBA kodus.

Izveidojiet tabulas formātu, izmantojot ListObjects programmā Excel VBA

Piemēram, apskatiet tālāk minētos Excel datus.

Izmantojot VBA ListObject kodu, šiem datiem izveidosim tabulas formātu.

Šo VBA ListObjects Excel veidni varat lejupielādēt šeit - VBA ListObjects Excel veidne
  • Šiem datiem vispirms jāatrod, kāda ir pēdējā izmantotā rinda un kolonna, tāpēc definējiet divus mainīgos, lai to atrastu.

Kods:

 Apakšsaraksts_objekti_piemērs1 () Dim LR As Long Dim LC As Long End Sub 

  • Lai atrastu pēdējo izmantoto rindu un kolonnu, izmantojiet zemāk esošo kodu.

Kods:

LR = Cells (Rows.Count, 1) .End (xlUp). Rinda LC = Cells (1, Columns.Count) .End (xlToLeft) .Column

  • Tagad definējiet vēl vienu mainīgo, lai saglabātu datu atsauci.

Kods:

 Dim Rng kā diapazons 

  • Tagad iestatiet atsauci uz šo mainīgo, izmantojot zemāk esošo kodu.

Kods:

 Iestatīt Rng = šūnas (1, 1). Mainīt izmēru (LR, LC)

Tagad mums jāizmanto VBA “ListObject.Add” metode, lai izveidotu tabulu, un zemāk ir tās pašas sintakse.

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

Avots: Tas nav tas, kuram šūnu diapazonam mēs ievietojam tabulu. Tātad šeit mēs varam sniegt divus argumentus, ti, “xlSrcRange” un “xlSrcExternal”.

XlListObjectHasHeaders: Ja tabulai, kurā ievieto datus, ir galvenes vai nav. Ja jā, mēs varam nodrošināt “xlYes”, ja nē, mēs varam nodrošināt “xlNo”.

Galamērķis: tas nav nekas cits kā mūsu datu diapazons.

Galda stils: ja vēlaties lietot jebkuru galda stilu, mēs varam piedāvāt stilus.

  • Labi, tagad aktīvajā lapā mēs veidojam tabulu, tāpēc zemāk esošais kods mums izveidotu tabulu.

Kods:

 Dim Ws kā darblapu kopa Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng

  • Pēc tam mums ir jāpiešķir šai tabulai nosaukums.

Kods:

Ws.ListObjects (1) .name = "EmpTable"

  • Zemāk ir pilns jūsu atsauces kods.

Kods:

 Apakšsaraksts_objekti_piemērs1 () Dim LR kā garš Dim LC LC kā garš LR = šūnas (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft). Column Dim Rng as Range Iestatiet Rng = Cells (1, 1). Mainiet izmēru (LR, LC) Dim Ws kā darblapu kopu Ws = ActiveSheet Ws.ListObjects.Add xlSrcRange, xllistobjecthasheaders: = xlYes, Destination: = Rng Ws.ListObjects (1). Name = " EmpTable "End Sub 

Labi, palaidīsim kodu un redzēsim maģiju.

Minētajiem datiem tā ir izveidojusi tabulu un piešķīrusi tabulas nosaukumu kā “EmpTable” .

Excel tabulu formatēšana ar VBA ListObjects

Kad Excel tabula ir izveidota, mēs varam strādāt ar tabulām, izmantojot vba ListObject kolekciju.

  • Vispirms definējiet mainīgo kā “ListObject”.

Kods:

 Apakšsaraksts_objekti_piemērs2 () Dim MyTable kā ListObject End Sub 

  • Tagad iestatiet atsauci uz šo mainīgo, izmantojot tabulas nosaukumu.

Kods:

 Apakšsaraksts_objekti_piemērs2 () Dim MyTable kā ListObject iestatīt MyTable = ActiveSheet.ListObjects ("EmpTable") Beigu apakšdaļa 

Tagad mainīgajam “MyTable” ir atsauce uz tabulu “EmpTable”.

  • Ievadiet mainīgā nosaukumu un ielieciet punktu, lai redzētu VBA ListObject īpašības un metodes.

Piemēram, ja mēs vēlamies atlasīt visu tabulu, mums jāizmanto objekts “Range”, un zem tā ir jāizmanto metode “Select”.

Kods:

MyTable.Range.Select

Tādējādi tiktu atlasīta visa datu tabula, ieskaitot virsrakstu.

  • Ja vēlaties atlasīt tikai tabulas saturu bez galvenēm, mums jāizmanto “DataBodyRange”.

Kods:

MyTable.DataBodyRange.Select

Šādi mēs varam spēlēties ar galdiem.

  • Tālāk ir sniegts aktivitāšu kodu saraksts jūsu atsaucei.

Kods:

 Apakšsaraksts_objekti_piemērs2 () Dim MyTable kā ListObject Set MyTable = ActiveSheet.ListObjects ("EmpTable") MyTable.DataBodyRange.Select 'Lai atlasītu datu diapazonu bez galvenēm MyTable.Range.Select' Lai atlasītu datu diapazonu ar galvenēm MyTable.HeaderRowRange. Atlasiet tabulas galvenes rindas MyTable.ListColumns (2). Range.Select 'Lai atlasītu 2. kolonnu, ieskaitot header MyTable.ListColumns (2). DataBodyRange.Select', lai atlasītu 2. kolonnu bez galvenes End Sub 

Šādi mēs varam izmantot kolekciju “ListObject”, lai spēlētos ar Excel tabulām.

Atceramās lietas

  • VBA ListObject ir objektu kolekcija atsauces Excel tabulām.
  • Lai piekļūtu ListObject kolekcijai, vispirms jānorāda, kāda ir darblapa, uz kuru mēs atsaucamies.

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