Array einer Range-Variable

07/01/2009 - 22:47 von Dirk Hennemann | Report spam
Hallo zusammen !

Ich habe ein Programm, welches je nach Bedarf bis zu 14 Auswahlbereiche in
eine Range-Variable einliest. Diese sollen dann komplett auf diverse
Einzelheiten untersucht werden. Ich füge die Bereiche dann mit "Set
Gesamtbereich = Union(bereich1, bereich2, bereich3, )" zusammen. Dann
kann ich die mit "For Each cell in Gesamtbereich" auf diverse Eigenschaften
untersuchen.
So weit der Plan. Aber wie schon erwàhnt, es können bis zu 14
Auswahlbereiche sein, es können aber auch nur einer oder auch nur zehn sein.
Ich habe jetzt festgestellt, wenn die Bereiche leer sind und ich die mit
"Union" zusammenfügen will, dann bricht das Programm ab.
Kann ich aus der Range-Variablen nicht ein Array erstellen ? Wenn ja, wie
füge ich die dann wieder zusammen, dass die leeren Bereiche gar nicht erst
angesprochen werden ? Das dürfte doch nicht so schwer sein, ich komme hier
aber nicht weiter...

Vielen Dank für die Hilfe.

Dirk
 

Lesen sie die antworten

#1 Alexander Wolff
07/01/2009 - 23:12 | Warnen spam
Ich habe ein Programm, welches je nach Bedarf bis zu 14 Auswahlbereiche in
eine Range-Variable einliest. Diese sollen dann komplett auf diverse
Einzelheiten untersucht werden. Ich füge die Bereiche dann mit "Set
Gesamtbereich = Union(bereich1, bereich2, bereich3, )" zusammen. Dann
kann ich die mit "For Each cell in Gesamtbereich" auf diverse
Eigenschaften untersuchen.
So weit der Plan. Aber wie schon erwàhnt, es können bis zu 14
Auswahlbereiche sein, es können aber auch nur einer oder auch nur zehn
sein. Ich habe jetzt festgestellt, wenn die Bereiche leer sind und ich die
mit "Union" zusammenfügen will, dann bricht das Programm ab.



Dann solltest Du nur das zusammenfügen, was nicht leer ist :-)

Kann ich aus der Range-Variablen nicht ein Array erstellen ? Wenn ja, wie



Warum ... oder wofür?

füge ich die dann wieder zusammen, dass die leeren Bereiche gar nicht erst
angesprochen werden ? Das dürfte doch nicht so schwer sein, ich komme hier
aber nicht weiter...



http://xxcl.de/0052.htm behandelt Arrays in VBA, die aus bloßer Zuweisung
von Excel-Ranges entstehen. Der offensichtlichste Vorteil ist eigentlich,
dass VBA einen zusammenhàngenden Bereich gleich intern als Variable
behandeln kann, ohne mühsam Zellen einzeln in solche auszulesen und
zurückzuschreiben oder gar Zellen selbst einzeln zu manipulieren. Der
Geschwindigkeitsvorteil kann Größenordnungen betragen.

"Union" habe ich in diesem Zusammenhang übrigens noch nicht ausprobiert. Da
tun sich weitere Felder auf!
Moin+Gruss Alexander - MVP for MS Excel - > Hallo zusammen !

Ähnliche fragen