VBA višedimenzionalni niz (2D nizovi)

Ovaj vodič će raspravljati o 2-d i višedimenzionalnim nizovima u VBA-i.

Višedimenzionalni niz (2D nizovi)

Višedimenzionalni nizovi su nizovi koji sadrže više dimenzija, obično dvije ili tri dimenzije, ali nizovi mogu imati do 32 dimenzije.

Deklarirajte 2D niz

Da biste izradili niz s više dimenzija, zarezima definirajte svaku zasebnu dimenziju:

1 Zatamnite intArr (2,3) kao cijeli broj

Popunjavanje 2D niza

Donji kôd popunit će 2D niz, a zatim će u retke i stupce radnog lista unijeti vrijednosti u nizu.

1234567891011121314151617181920212223242526 Potpopulacija2D ()'deklarirajte 2D nizDim intA (2, 3) Kao cijeli broj'deklarirati varijableDim rw kao cijeli brojDim col Kao cijeli broj'popunite nizintA (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'prođite kroz niz i popunite ExcelZa rw = 0 do 2Za col = 0 do 3Stanice (rw + 1, col + 1). Vrijednost = intA (rw, col)Sljedeći colSljedeći rwKraj podm

Vaša Excel proračunska tablica tada bi trebala biti popunjena na sljedeći način.

Popunjavanje 2D niza iz Excel podataka

Donji kôd popunit će 2D niz s radnog lista programa Excel, a zatim će podatke unijeti u drugi list.

1234567891011121314151617181920212223242526 Potpopulacija2D ()'Proglasite radne listoveZatamnite ws_Source kao radni listZatamni ws_Destination kao radni list'Deklarirajte nizZatamni wsData (10, 2) kao varijantu'Deklarirajte varijableZatamnite rw kao cijeli brojDim col Kao cijeli broj'pogledajte izvorni listPostavi ws_Source = Radni listovi ("List 1")'dobiti informacije s izvornog lista i popuniti nizZa rw = LBound (wsData, 1) Za UBound (wsData, 1)Za col = LBound (wsData, 2) Za UBound (wsData, 2)wsData (rw, col) = ws_Source.Range ("A2"). Pomak (rw, col) .VrijednostSljedeći colSljedeći rw'pogledajte destacijski listPostavi ws_Destination = Radni listovi ("List 2")'popunite odredišni list iz nizaZa rw = LBound (wsData, 1) Za UBound (wsData, 1)Za col = LBound (wsData, 2) Za UBound (wsData, 2)ws_Destination.Range ("A1"). Odstupanje (rw, col) .Vrijednost = wsData (rw, col)Sljedeći colSljedeći rwKraj podm

Promjena veličine pomoću ReDim-a i Re-Dim Preserve-a

Možete promijeniti veličinu polja pomoću ReDim.

1234567891011121314151617 Sub Resize2D ()'deklarirajte nizDim varArray () kao Variant'deklarirajte veličinu nizaReDim varArray (1, 2)varArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred kopča"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Računovođa"varArray (1, 1) = "Tajnik"varArray (1, 2) = "Doktor"'ponovno deklarirajte veličinu nizaReDim varArray (0, 1)'ponovno napuniti nizvarArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred kopča"Kraj podm

Kada ponovo deklarirate niz, izgubit ćete sve podatke koji su se prethodno držali u nizu, osim ako ne koristite Izjava o očuvanju ReDim -a.

12345678910111213141516 Sub Resize2D ()'deklarirajte niz Dim varArray () kao varijantu'deklarirajte veličinu nizaReDim varArray (1, 2)varArray (0, 0) = "Mel Smith"varArray (0, 1) = "Fred kopča"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Računovođa"varArray (1, 1) = "Tajnik"varArray (1, 2) = "Doktor"'ponovno deklarirajte veličinu nizaReDim Preverve varArray (1, 3)'popunite niz dodatnim vrijednostimavarArray (0, 3) = "Rob Barnes"varArray (1, 3) = "Vodoinstalater"Kraj podm

Zadnju dimenziju niza možete promijeniti samo ako želite zadržati izvorne podatke u nizu s Pre-Dim Preserve.

Kada kliknete otklanjanje pogrešaka, pogreška će biti istaknuta koja pokazuje da prva dimenzija u nizu nije ista kao prva dimenzija kada je veličina niza izvorno deklarirana.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave