VBA -taulukot ja ListObjects

Sisällysluettelo

Tämä opetusohjelma osoittaa, miten voit käyttää taulukoita ja ListObjects -kohteita VBA: ssa.

VBA -taulukot ja ListObjects

Taulukot ovat yksi Excelin hyödyllisimmistä ja tehokkaimmista ominaisuuksista, tässä opetusohjelmassa käymme läpi, miten VBA: ta käytetään taulukon luomiseen, yksinkertaisen lajittelun lisäämiseen taulukkoon, taulukon suodattamiseen ja muiden taulukkoon liittyvien tehtävien suorittamiseen.

Luo taulukko VBA: n avulla

ListObjects.Add -menetelmä voi lisätä taulukon laskentataulukkoon kyseisen laskentataulukon alueen perusteella. Meillä on alue ($ A $ 1: $ B $ 8) taulukossa Sheet1.

Seuraava koodi lisää taulukkoon taulukon 1 taulukkoon laskentataulukkoosi alueen ($ A $ 1: $ B $ 8) perusteella käyttämällä oletustaulukkotyyliä:

123456 Sub CreateTableInExcel ()ActiveWorkbook.Sheets ("Sheet1"). ListObjects.Add (xlSrcRange, Range ("$ A $ 1: $ B $ 8"),, xlYes) .Nimi = _"Pöytä 1"End Sub

Tulos on:

Sarakkeen lisääminen taulukon loppuun VBA: n avulla

Voit käyttää ListColumns.Add -menetelmää lisätäksesi sarakkeen taulukon loppuun. Meillä on taulukko nimeltä Table1 alla.

Voit lisätä sarakkeen taulukkoon käyttämällä seuraavaa koodia, joka lisää aina sarakkeen taulukon loppuun:

12345 Sub AddColumnToTheEndOfTheTable ()ActiveWorkbook.Sheets ("Sheet1"). ListObjects ("Table1"). ListColumns.AddEnd Sub

Tulos on:

Rivin lisääminen taulukon alaosaan VBA: n avulla

ListRows.Add -menetelmän avulla voit lisätä rivin taulukon alareunaan. Meillä on taulukko nimeltä Table1 alla.

Seuraava koodi lisää aina rivin taulukon alaosaan.

12345 Sub AddRowToTheBottomOfTheTable ()ActiveSheet.ListObjects ("Table1"). ListRows.AddEnd Sub

Tulos on:

Yksinkertaisen lajittelun lisääminen VBA: n avulla

Voit lajitella taulukon VBA: n avulla. Meillä on taulukko nimeltä Table1 alla ja voimme käyttää VBA: ta myyntisarakkeen lajitteluun alimmasta korkeimpaan.

Seuraava koodi lajittelee Myynti -sarakkeen nousevassa järjestyksessä.

12345678910111213141516171819 YksinkertainenSortOnTheTable ()Alue ("Taulukko1 [[#Otsikot], [Myynti]]"). ValitseActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). Sort.SortFields.ClearActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). Sort.SortFields.Add _Avain: = Alue ("Taulukko1 [[#Kaikki], [Myynti]]"), Lajittelu: = xlSortOnValues, Järjestys: = _xlAscending, DataOption: = xlSortNormalActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). LajitteleOtsikko = xlKyllä.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.KäytäLopetaEnd Sub

Tulos on:

Suodata taulukko VBA: n avulla

Voit myös suodattaa Excel -taulukon VBA: n avulla. Meillä on taulukko nimeltä Table1 ja haluamme suodattaa taulukon niin, että näytetään vain yli 1500 myynti.

Voimme käyttää Autofilter -menetelmää, jossa on viisi valinnaista parametria. Koska haluamme suodattaa Myynti -sarakkeen, joka on toinen sarake, asetamme kenttään 2 ja käytämme xlAnd -operaattoriparametria, jota käytetään päivämäärissä ja numeroissa.

123456 Yksinkertainen suodatin ()ActiveWorkbook.Sheets ("Sheet1"). ListObjects ("Table1"). Range.AutoFilter Field: = 2, Criteria1: = _"> 1500", operaattori: = xlAndEnd Sub

Tulos on:

Tyhjennä suodatin ShowAllData -menetelmällä VBA: ssa

Voit avata laskentataulukon ShowAllData -menetelmän suodattimen tyhjentämiseksi. Jos haluat tyhjentää taulukon suodattimen, sinun on ensin valittava taulukosta solu, jonka voit tehdä VBA: ssa.

ShowAllData -menetelmä luo virheen, jos ehdollista logiikkaa ei käytetä tarkistamaan, onko laskentataulukossa käytetty suodatinta. Seuraava koodi näyttää, miten tämä tehdään:

123456789 Osan tyhjennysTheFilter ()Alue ("Taulukko1 [[#Otsikot], [Myynti]]"). ValitseJos ActiveWorkbook.Worksheets ("Sheet1"). FilterMode = True thenActiveSheet.ShowAllDataLoppu JosEnd Sub

Tyhjennä kaikki suodattimet Excel -taulukosta

Voit käyttää ListObject -luokan ShowAllData -menetelmää ilman, että sinun on ensin valittava solu taulukosta. Seuraava koodi näyttää, miten tämä tehdään:

123 Sub ClearAllTableFilters ()ActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). AutoFilter.ShowAllDataEnd Sub

Rivin poistaminen VBA: n avulla

Voit poistaa rivin taulukon tietokannasta käyttämällä ListRows.Delete -menetelmää. Sinun on määritettävä rivi rivinumeron avulla. Meillä on seuraava taulukko nimeltä Taulukko 1.

Oletetaan, että halusit poistaa taulukon tietokannan toisen rivin, seuraavan koodin avulla voit tehdä tämän:

12345 Ala Poista ARow ()ActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). ListRows (2) .DeleteEnd Sub

Tulos on:

Sarakkeen poistaminen VBA: n avulla

Voit poistaa sarakkeen taulukosta käyttämällä ListColumns.Delete -menetelmää. Meillä on seuraava taulukko nimeltä Table1 alla:

Voit poistaa ensimmäisen sarakkeen käyttämällä seuraavaa koodia:

12345 Sub DeleteAColumn ()ActiveWorkbook.Worksheets ("Sheet1"). ListObjects ("Table1"). ListColumns (1) .DeleteEnd Sub

Tulos on:

Taulukon muuntaminen takaisin alueelle VBA: ssa

Voit muuntaa taulukon takaisin normaalialueelle VBA: n avulla. Seuraava koodi näyttää, kuinka taulukko Taulukko1 voidaan muuntaa takaisin alueeksi:

12345 Sub ConvertingATableBackToANormalRange ()ActiveWorkbook.Sheets ("Sheet1"). ListObjects ("Table1"). UnlistEnd Sub

Kaistaleiden sarakkeiden lisääminen ja muotoilu kaikkiin laskentataulukon taulukoihin VBA: n avulla

Voit käyttää kaikkia laskentataulukon taulukoita ListObjects -kokoelman avulla. Alla olevassa taulukossa on kaksi taulukkoa, ja haluamme lisätä banded -sarakkeen molempiin taulukoihin kerralla ja muuttaa molempien taulukoiden tieto -osan fontin lihavoituksi käyttämällä VBA: ta.

12345678910111213 Sub AddingBandedColumns ()Dim tbl ListObjectinaDim sht kuten laskentataulukkoAseta sht = ThisWorkbook.ActiveSheetJokaiselle tbl: lle Sht.ListObjectstbl.ShowTableStyleColumnStripes = Tottatbl.DataBodyRange.Font.Bold = TottaSeuraava tblEnd Sub

Tulos on:

Taulukon luominen Accessiin VBA: ssa DoCmd.RunSQL: n avulla

Yksi tärkeimmistä tavoista luoda taulukko Accessissa VBA: ssa on käyttää DoCmd.RunSQL -menetelmää toiminnon kyselyn suorittamiseen SQL -lauseella.

Esimerkkilomakkeessamme on painike, ja kun napsautamme painiketta, haluamme luoda taulukon nimeltä ProductsTable, jossa on kaksi kenttää tai saraketta, toinen olisi ensisijainen avainkenttä, jonka nimi on ProductsID, ja toinen kenttä nimeltä Sales.

Tämän taulukon luomiseksi käytämme seuraavaa koodia:

123456 Yksityinen ali cmdCreateProductsTable_Click ()DoCmd.RunSQL "CREATE TABLE ProductsTable" _& "(ProductID INTEGER PRIMARY KEY, Sales Integer);"End Sub

Tulos on:

Taulukon suodattaminen Accessissa VBA: n avulla

Voit myös suodattaa taulukon Accessissa DoCmd.ApplyFilter -menetelmällä. Meillä on yksinkertainen taulukko, joka näkyy alla Accessissa nimeltä ProductsTable.

Haluamme painaa tätä painiketta lomakkeessamme ja nähdä sitten vain myynti, joka on yli 1500.

Käytämme siis seuraavaa koodia tähän:

1234567 Yksityinen ali cmdFilter_Click ()DoCmd.OpenTable "ProductsTable"DoCmd.ApplyFilter, "[Myynti]> 1500"End Sub

Tulos on:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave