Excel VBA ArrayList

Tietorakenteita käytetään tietosarjan tallentamiseen ohjelmointikielellä. Se sitoutuu muistiin kuin osoitteeseen. ArrayList on yksi excelin tietorakenteista. Verrattuna Excel: n normaaliin taulukkoon ArrayList on dynaaminen. Siksi ensimmäistä kokoilmoitusta ei tarvita. ArrayList ei ole osa VBA: ta, se liitetään ulkoiseen kirjastoon, jota voidaan käyttää VBA: n kanssa.

ArrayList voidaan määritellä luettelona lähellä olevasta muistin sijainnista. Mistä arvot noudetaan indeksinumeroilla. Luettelo alkaa indeksinumerosta '0', ensimmäinen elementti lisätään '0' -indeksiin ja loput seuraa 1, 2, 3 jne. ArrayList tarjoaa runsaasti sisäänrakennettuja toimintoja, lajittelua, lisäämistä, poistamista, peruutus jne. ovat joitain niistä.

Kirjaston lisääminen

Jotta ArrayList voidaan käyttää VBA: ta, siihen on sisällytettävä kirjasto ' mscorlib.dll', joka tulee .NET-kehyksen mukana .

  • Paina F11 tai napsauta hiiren kakkospainikkeella arkin nimeä saadaksesi ikkuna. Siirry VBA-koodi-ikkunaan, valitse päävalikosta Työkalut .

  • Työkaluvalikossa on 'viitteet' -vaihtoehto ja se sisältää luettelon kirjastoista, jotka tukevat VBA: ta erilaisten kohteiden sisällyttämiseksi. Napsauta Viite- vaihtoehtoa.

  • Se johtaa sinut ikkunaan, jossa on luettelo eri kirjastoista ja joka tukee VBA: ta ja Excel: ää. Vieritä alas löytääksesi ' dll'. Valitse valinta valintamerkillä ja paina sitten 'OK' -painiketta.

Nyt kirjasto sisältyy VBA-koodiin ja se tukee ArrayList-ohjelmaan liittyviä erilaisia ​​menetelmiä.

Kuinka luoda VBA ArrayList Excelissä?

Alla on erilaisia ​​esimerkkejä VBA ArrayListin luomiseen Excelissä.

Voit ladata tämän VBA ArrayList Excel -mallin täältä - VBA ArrayList Excel Template

Excel VBA ArrayList - esimerkki # 1

Kuinka lisätä arvoja ArrayList-ohjelmaan VBA: n avulla?

ArrayList toimii luettelona, ​​johon voimme lisätä arvoja. Tämä tallentuu automaattisesti eri osiin alkaen arvosta 0, 1, 2 jne. Arvot voidaan lisätä tai lisätä ArrayListiin lisäysmenetelmällä.

Tässä esimerkissä opit lisäämään luettelon arvoista ArrayList. Lisää ArrayList käyttämällä VBA-koodia Excel-muodossa seuraavien ohjeiden mukaisesti.

Vaihe 1: Jos haluat lisätä arvojen luettelon ArrayListiin, luo toiminto arylistist1.

Koodi:

 Yksityinen aliryhmä1 () End Sub 

Vaihe 2: Nyt haluamme sisällyttää ArrayListin funktioon objektina, jossa luettelo julistetaan ArrayListiksi.

Koodi:

 Yksityinen alijärjestysluettelo1 () himmenee luettelossa ArrayList lopetusalina 

Vaihe 3: Koska tämä on objekti, jota haluat käyttää, sinun on luotava ArrayList-ilmentymä. Aseta uusi ilmentymä tälle objektille.

Koodi:

 Yksityinen alijärjestysluettelo1 () himmentää luetteloa kuten ArrayList asettaa alist = Uusi ArrayList loppuosa 

Vaihe 4: Nyt ArrayListin Add-ominaisuuden käyttäminen lisää arvot ArrayList. Mistä luettelo lisätään hakemistoarvoihin järjestyksessä 0, 1, 2, 3 jne.

Koodi:

 Yksityinen alijärjestysluettelo1 () himmentää luetteloa nimellä ArrayList asettaa alist = Uusi ArrayList alist.Lisää "192" 'hakemisto (0) alist.Lisää "168"' hakemisto (1) alist.Lisää "1" 'hakemisto (2) alist.Lisää "240" '-indeksi (3) Loppu alaosa 

Vaihe 5: Voit tarkistaa, onko arvot lisätty luetteloon, tulostamalla taulukon arvot viestiruudulla. Arvojen tulostamiseksi jokainen hakemisto tulostetaan, koska arvot tallennetaan näihin osioihin.

Koodi:

 Yksityinen alijärjestysluettelo1 () himmentää luetteloa nimellä ArrayList asettaa alist = Uusi ArrayList alist.Lisää "192" 'hakemisto (0) alist.Lisää "168"' hakemisto (1) alist.Lisää "1" 'hakemisto (2) alist.Lisää "240" 'hakemisto (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub 

Vaihe 6: Paina F5 tai suorita painiketta ohjelman suorittamiseksi, ja arvot tulostetaan alla esitetyllä tavalla. Tässä IP-osoite tallennetaan ArrayList-tietokantaan ja arvojen tulostuksen aikana ylimääräiset merkinnät yhdistetään muodostamaan IP-osoite oikeassa muodossa.

Automaatiovirhe VBA: ssa

Se on yleinen virhe tapahtuu ArrayList-ohjelmaa ajaessa. Automaatiovirhessä voi esiintyä 'ajonaikainen virhe' -2146232576 (80131700) automaatiovirhe '

Tämä johtuu siitä, että .NET-kehyksen oikea versio ei ole asennettu. Jotta voit työskennellä ArrayListin kanssa, sinulla on oltava vähintään .NET 3.5 tai sitä uudemmat versiot .NET-kehys.

Excel VBA ArrayList - esimerkki 2

Lajittelu ArrayList VBA-koodia käyttämällä

ArrayList tukee erilaisia ​​toimintoja, kuten lajittelua, peruuttamista jne., Mikä auttaa lajittelemaan ArrayListiin lisätyt arvot. Kun olet lisännyt luettelon ArrayListiin, lisätty luettelo on mahdollista kääntää.

Seuraa alla olevia vaiheita lajitellaksesi ArrayList VBA-koodilla:

Vaihe 1: Luo toiminto nimeltään arrayort1 suorittaaksesi lajittelun ArrayList-lisättyjen arvojen sisällä.

Koodi:

 Alijärjestelmä1 () End Sub 

Vaihe 2: Ilmoita ArrayListin objekti 'ryhmäjoukko'. Käytä tätä objektia lisätäksesi ja lajitellaksesi arrayList-arvot.

Koodi:

 Alijärjestelmäkortti1 () Pienennä ryhmäkorttia ArrayList End Sub -ryhmänä 

Vaihe 3: Samoin kuin ensimmäisessä esimerkissä, on luotava uusi esiintymä ilmoitetulle objektille. Aseta tämä ilmentymä uudeksi ArrayList.

Koodi:

 Aliyhdistelmä1 () Pienennä ryhmäryhmää ArrayList-joukkona ArraySort = New ArrayList End Sub 

Vaihe 4: Lisää nyt elementit ArrayListin käyttämällä 'Lisää' -menetelmää. Jolla ei ole arvojärjestystä. Lisäsi joitain arvoja satunnaisesti luetteloon.

Koodi:

 Alijärjestelmä1 () Pienennä ryhmäjärjestys Kuten ArrayList Aseta ryhmäkortti = Uusi ArrayList ryhmäkortti.Lisää "13" matriisitortti.Lisää "21" matriisitortti.Lisää "67" matriisitortti.Lisää "10" matriisitort.Lisää "12" matriisitort.Lisää "45" Loppu Sub 

Vaihe 5: Voit havaita ero ArrayListissä tulostamalla ArrayList arvojen lisäämisen jälkeen ja ennen lajittelua.

Koodi:

 Aliyhdistelmä1 () Pienennä ryhmäjärjestys Kuten ArrayList Aseta rivijärjestys = Lisää ArrayList rivijärjestys.Lisää "13" rivijärjestys.Lisää "21" rivijärjestys.Lisä "67" rivisortti.Lisää "10" rivisortti.Lisää "12" rivisorti.Lisä "45" MsgBox (matriisivalikoima (0) & vbCrLf ja matriisijärjestys (1) _ & vbCrLf ja matriisijärjestys (2) ja vbCrLf ja matriisivalikoima (3) _ ja vbCrLf ja matriisijärjestys (4) ja vbCrLf ja matriisinortti (5)) End Sub 

Vaihe 6: Paina näppäimistön F5-näppäintä tai suorita painike koodi-ikkunassa suorittaaksesi ohjelman tulostaaksesi ArrayList. ArrayList tulostetaan samassa järjestyksessä kuin se lisätään, koska käytämme hakemistonumeroita oikeassa järjestyksessä.

Vaihe 7: Käytä nyt tähän luetteloon ArrayListin lajitteluomaisuutta. Lajittele lisätty luettelo lajittelumenetelmällä. Lajitteluominaisuus lajittelee arvojen luettelon oletusarvoisesti nousevassa järjestyksessä.

Koodi:

 Alijärjestelmä1 () Pienennä ryhmäkortti ArrayList-ryhmänä Määritä rivijärjestys = Lisää ArrayList-rivisortti.Lisää "13" rivisortti.Lisää "21" rivisortti.Lisää "67" rivisortti.Lisää "10" rivisortit.Lisää "12" -sivustot.Lisää "45" .Sort MsgBox (ryhmäjakauma (0) & vbCrLf ja ryhmäjakauma (1) _ & vbCrLf ja ryhmälaji (2) & vbCrLf ja ryhmävalikoima (3) _ & vbCrLf ja ryhmäjako (4) ja vbCrLf ja ryhmäjako (5)) End Sub 

Vaihe 8: VBE: n alla oleva F5- tai Suorita-painike suorittaaksesi tämän koodin, missä arvot lajitellaan ja tulostetaan pienimmästä arvosta suurimpaan.

Excel VBA ArrayList - esimerkki 3

ArrayListin kääntäminen VBA-koodilla

Kun haluat kääntää lisättyjen arvojen järjestyksen ArrayList-menetelmässä, käänteinen menetelmä on käytettävissä. Tämä kääntää luettelon järjestyksen nykyisestä järjestyksestään. Nyt olemme lajitelleet jo edellisessä esimerkissä ArrayListin, joka on nousevassa järjestyksessä.

Yritetään kääntää lajiteltu taulukko muuttuvan laskevaan järjestykseen. Käytä ArrayListin käänteistä menetelmää.

Koodi:

 Alijärjestelmä2 () Pienennä ryhmäjärjestys Kuten ArrayList Aseta ryhmäkortti = Uusi ArrayList ryhmäkortti.Lisää "13" matriisitortti.Lisää "21" matriisitortti.Lisää "67" matriisitortti.Lisää "10" matriisitortit.Lisää "12" matriisitortit.Lisää "45" matriisit .Sort matriisisortti.Käännä MsgBox (matriisisortti (0) & vbCrLf & matriisisortti (1) _ & vbCrLf & matriisisortti (2) & vbCrLf ja matriisisortti (3) _ & vbCrLf ja matriisisortti (4) ja vbCrLf ja maastolajin (5)) End Sub 

Käänteisen menetelmän soveltamisen jälkeen ArrayList muuttuu alenevassa järjestyksessä ja tulostaa käänteisen taulukon viestiruudulla. Lajiteltu luettelo vaihdetaan suuresta arvosta pieneksi.

Muistettavat asiat

  • ArrayList on luonteeltaan dynaaminen; se ei vaadi uudelleenalustamista.
  • ArrayListiin liittyy erilaisia ​​sisäänrakennettuja menetelmiä.
  • ArrayList on helppo käyttää taulukkoon verrattuna Excel VBA: ssa.
  • Tukevat .NET-kirjastot tulisi sisällyttää VBA: hon, jotta ne toimivat ArrayListin kanssa.
  • ArrayList on jatkuva muistipaikka, joka tunnistetaan indeksiarvoilla.

Suositellut artikkelit

Tämä on opas VBA ArrayListiin. Tässä keskustellaan siitä, miten luodaan ArrayList Excel VBA: ssa käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Opas VBA-ryhmien käyttöön
  2. Excel lajittelu numeron mukaan
  3. Kuinka lajitella Excelissä VBA: n avulla?
  4. Oppaat lajittelusta Excelissä

Luokka: