Microsoft Excel

Herbers Excel/VBA-Archiv

Array unbestimmter Länge befüllen


Betrifft: Array unbestimmter Länge befüllen von: hofi
Geschrieben am: 19.09.2017 14:56:30

Hallo Zusammen

ich hab schon viel nachgelesen, aber leider ncihts gefunden was mir auf mein wahrscheinlich leichtes Problem eine Antwort gibt.

In einer Schleife lasse ich eine Variable j hochzählen, solange bis die Vorraussetztung nicht mehr erfüllt ist. Anschließend möchte ich mein j in einem Array speichern. Das j wird dann auf Null gesetzt und durchläuft wieder die Schleife. Nach jedem Schleifenende erhlate ich ein bestimmtes j das ich in das selbe Array schreiben möchte, welches ich mir ganz zum Schluss ausgegebn lassen will.
Da ich nicht weis wie oft das j eine Schleife durchläuft, weis ich auch nicht wie groß mein Array sein muss.

Meine Idee ist warhscheinlich zu primitiv:
.
. (Schleife)
.
Datenfeld(x) = j
x = x + 1 (variable zum hochzählen um an die nächste Stele im Array zu kommen)
.
.
.

Danke vorab schonmal für eure Hilfe
Lg Hofi

  

Betrifft: AW: Array unbestimmter Länge befüllen von: Peter(silie)
Geschrieben am: 19.09.2017 15:07:51

Hallo,

schnell und schmerzlos die Antwort:

	Schleifen anfang
		....
		'//Neu dimensionieren
		ReDim Preserve array_(x)
		
		'//zuweisen
		array_(x) = j 
		
		'//index erhöhen
		x = x +1 
		
	Schleifen ende



  

Betrifft: Da würde ich aber ... von: lupo1
Geschrieben am: 19.09.2017 19:18:49

... doch niemals das ReDim in die Schleife packen, sondern vorher maximal oder maximal wahrscheinlich Dim-men und am Ende einmal ReDim-men.


  

Betrifft: AW: Array unbestimmter Länge befüllen von: Uduuh
Geschrieben am: 19.09.2017 20:00:43

Hallo,
am besten per Dictionary.

dim objArr as Object
set objArr=createobject("scripting.dictionary")
...Schleife
objArr(x)=j
x=x+1
...Schleife
Datenfeld=objArr.Items
Gruß aus’m Pott
Udo