Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Array Redim Preserve in 1. Dimension?
Andreas
Guten Abend Excel Freunde,
ich habe beim Stöbern im Forum einen VBA Code entdeckt, der mein Interesse geweckt hat. Die Datei wurde von Tino erstellt. Die Meriten gehen eindeutig an ihn. Der in dieser Datei enthaltene Code füllt eine ListBox u.a. unter Verwendung von Arrays. Ein zweidimensionales Array wird in seiner 1. Dimension neu dimensioniert. Ich dachte bisher immer, das geht nur für die zweite Dimension:
ReDim Preserve Ar3(1 To UBound(Ar3), 1 To AAA)
Der betreffende Code liegt in der Form „UserForm1“.
Kann sein, daß ich mich nicht richtig konzentriere und es nicht erkennen kann, was genau geschieht, aber mir ist diese ungewöhnliche Redimensionierung aufgefallen. Vielleicht mag ja jemand einen Blick darauf werfen und Klarheit bringen.
https://www.herber.de/bbs/user/69268.xls
Vielen Dank und Grüße, Andreas Hanisch
AW: Array Redim Preserve in 1. Dimension?
27.04.2010 20:49:14
Uduuh
Hallo,
damit änderst du ja die 1. Dimension nicht.
Gruß aus'm Pott
Udo
http://www.excelerator.de
AW: Array Redim Preserve in 1. Dimension?
27.04.2010 20:59:51
Beverly
Hi Andreas,
damit wird nur ein neues Array dimensioniert, nicht jedoch ein vorhandenes erweitert.


AW: Array Redim Preserve in 1. Dimension?
27.04.2010 21:13:23
Uduuh
Hallo Karin,
das stimt so nicht.
ReDim Preserve
Gruß aus’m Pott
Udo

AW: Array Redim Preserve in 1. Dimension?
28.04.2010 08:45:48
Beverly
Hi Udo,
für den gegebenen Code stimmt meine Aussage schon, denn das Array wurde vorher in seiner Größe noch nichtt dimensioniert.
ReDim Preserve erweitert bekanntlich ein in seiner Größe bereits dimensioniertes Array unter Beibehaltung der bereits dimensionierten Größe. Da ihm hier aber noch keine Größe zugewiesen wurde, wird an dieser Stelle erstmalig seine Größe festgelegt. Reserve kann hier auch weggelassen werden.


Anzeige
AW: Array Redim Preserve in 1. Dimension?
28.04.2010 08:56:58
Andreas
Guten Morgen zusammen!
Vielen Dank für Eure lebhafte Diskussion. Ich werde mir den gesamten Thread heute zu Gemüte führen und alle Eure Anmerkungen lesen. Denke, dadurch mein Array Wissen festigen und in Zukunft einen solchen Code gleich besser "lesen" zu können.
Habt alle einen guten Tag!
Grüße aus Berlin, Andreas Hanisch
ReDim mal mit, mal ohne Preserve
27.04.2010 21:16:02
Erich
Hi Andreas,
nach meiner Meinung ist in der Zeile
ReDim Preserve Ar3(1 To UBound(Ar2, 2), 1 To UBound(Ar2))
das "Preserve" nutzlos und überflüssig - hier wird ein Array neu deklariert - wie Karin schon schrieb.
In der Zeile
ReDim Preserve Ar3(1 To UBound(Ar3), 1 To AAA)
bleibst - wie Udo auch schon schrieb - die 1. Dimension unverändert, deshalb klappt das auch mit Preserve.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
ReDim mal mit, mal ohne Preserve - Korrektur
27.04.2010 21:23:30
Erich
Hi zusammen,
Udos Einwand ist IMHO berechtigt.
Ar3() ist oben formal deklariert, mit
ReDim Preserve Ar3(1 To UBound(Ar2, 2), 1 To UBound(Ar2))
(das "Preserve" bleibt nutzlos und überflüssig) hier die Größe des vorher deklarierten Arrays erstmalig festgelegt.
Das Array ist und bleibt leer, es gibt nichts zu "preserven".
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
genau so seh ich das auch owT
27.04.2010 21:34:02
Uduuh
AW: Makro Stopp
27.04.2010 21:43:20
Daniel
Hi
also die Zeile:
ReDim Preserve Ar3(1 To UBound(Ar3), 1 To AAA)
ändert definitf NICHTS an der grösse der ersten Dimenson, weil UBOUND(Ar3) ja die Anzahl der Elemente der ersten Dimension von Ar3 zurückgibt und somit keine Veränderung erfolgt.
Gruß, Daniel
Anzeige

44 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige