VBA-moniulotteinen järjestelmä (2D-taulukot)

Tässä opetusohjelmassa käsitellään 2-d- ja moniulotteisia matriiseja VBA: ssa.

Moniulotteinen järjestelmä (2D-taulukot)

Moniulotteiset taulukot ovat matriiseja, jotka sisältävät useamman kuin yhden ulottuvuuden, yleensä kaksi tai kolme ulottuvuutta, mutta matriiseilla voi olla jopa 32 ulottuvuutta.

Julista 2D -sarja

Jos haluat luoda taulukon, jossa on useampi kuin yksi ulottuvuus, määritä jokainen ulottuvuus pilkuilla:

1 Dim intArr (2,3) kokonaislukuna

2D -sarjan täyttäminen

Alla oleva koodi täyttää 2D -taulukon ja täyttää sitten taulukon rivit ja sarakkeet taulukon arvoilla.

1234567891011121314151617181920212223242526 Osapopulaatio2D ()'julistaa 2D -taulukonDim intA (2, 3) kokonaislukuna'ilmoittaa muuttujatDim rw kokonaislukunaDim col Kuten kokonaisluku'täytä taulukkointA (0, 0) = 45intA (0, 1) = 50intA (0, 2) = 55intA (0, 3) = 60intA (1, 0) = 65intA (1, 1) = 70intA (1, 2) = 75intA (1, 3) = 80intA (2, 0) = 85intA (2, 1) = 90intA (2, 2) = 95intA (2, 3) = 100'kierrä taulukon läpi ja täytä ExcelRw = 0 - 2Väri = 0 - 3Solut (rw + 1, col + 1). Arvo = intA (rw, col)Seuraava sarakeSeuraava rwEnd Sub

Excel -laskentataulukko täytetään sitten seuraavasti.

2D -taulukon täyttäminen Excel -tiedoista

Alla oleva koodi täyttää 2D -taulukon Excel -laskentataulukosta ja täyttää sitten toisen taulukon tiedoilla.

1234567891011121314151617181920212223242526 Osapopulaatio2D ()'Ilmoita laskentataulukotDim ws_Source kuten laskentataulukkoDim ws_Destination kuten laskentataulukko'Ilmoita taulukkoDim wsData (10, 2) Vaihtoehtona'Ilmoita muuttujatDim rw kokonaislukunaDim col Kuten kokonaisluku'' katso lähdeluetteloAseta ws_Source = Laskentataulukot ("Sheet1")'Hae tiedot lähdelehdestä ja täytä taulukkoRw = LBound (wsData, 1) UBound (wsData, 1)Col = LBound (wsData, 2) - UBound (wsData, 2)wsData (rw, col) = ws_Source.Range ("A2"). Siirtymä (rw, col) .ArvoSeuraava sarakeSeuraava rw'katso kohdesivuAseta ws_Destination = Laskentataulukot ("Sheet2")'täyttää kohdearkin taulukostaRw = LBound (wsData, 1) UBound (wsData, 1)Col = LBound (wsData, 2) - UBound (wsData, 2)ws_Destination.Range ("A1"). Siirtymä (rw, col) .Arvo = wsData (rw, col)Seuraava sarakeSeuraava rwEnd Sub

Koon muuttaminen ReDim- ja Re-Dim Preserve -ohjelmilla

Voit muuttaa taulukon kokoa käyttämällä ReDim.

1234567891011121314151617 Alikoko2D ()'julistaa taulukonDim varArray () muunnelmana'ilmoittaa taulukon koonReDim varArray (1, 2)varArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred Buckle"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Kirjanpitäjä"varArray (1, 1) = "Sihteeri"varArray (1, 2) = "Lääkäri"'ilmoittaa uudelleen taulukon koonReDim varArray (0, 1)'aseta taulukko uudelleenvarArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred Buckle"End Sub

Kun julistat taulukon uudelleen, menetät kaikki taulukossa aiemmin olleet tiedot, ellet käytä ReDim Preserve -lausunto.

12345678910111213141516 Alikoko2D ()'julista taulukko Dim varArray () muuttujana'ilmoittaa taulukon koonReDim varArray (1, 2)varArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred Buckle"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Kirjanpitäjä"varArray (1, 1) = "Sihteeri"varArray (1, 2) = "Lääkäri"'ilmoittaa uudelleen taulukon koonReDim Preverve varArray (1, 3)'täyttää taulukon lisäarvoillavarArray (0, 3) = "Rob Barnes"varArray (1, 3) = "Putkimies"End Sub

Voit muuttaa taulukon viimeisen ulottuvuuden kokoa vain, jos haluat säilyttää alkuperäiset tiedot taulukossa Himmennä uudelleen.

Kun napsautat virheenkorjausta, virhe korostuu ja osoittaa, että taulukon ensimmäinen ulottuvuus ei ole sama kuin ensimmäinen ulottuvuus, kun taulukon koko ilmoitettiin alun perin.

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

wave wave wave wave wave