Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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
Inhaltsverzeichnis

Frage zu Variant Variable

Frage zu Variant Variable
13.11.2012 15:18:38
Peter
Guten Tag
In einem alten Code gibt es ein paar Codezeilen, die ich nicht ganz verstehe. Diese stehen alle im Zusammenhang mit einer der Variable vntOpen, die als Variant deklariert wird (und der nach meinem Verständnis verschiedene Pfade von Dateien, die später geöffnet werden, übergeben werden).
''Codes mit vntOpen:
Dim vntOpen() As Variant
ReDim vntOpen(0)
dann wird sie in einer Abfrage verwendet
If IsError(Application.Match(strPathFile & rng.Text, vntOpen, 0)) Then
ReDim Preserve vntOpen(lngIndex)
vntOpen(lngIndex) = strPathFile & rng.Text
lngIndex = lngIndex + 1
Workbooks.Open (strPathFile & rng.Text)
Meine Fragen:
- was passiert bei ReDim vntOpen(0)
- warum kann in der Zeile ... If IsError nur der Name der Variable verwendet werden (wenn ich beim Abarbeiten des Codes mit der Maus darüber fahre, wird mir bei vntOpen kein Wert angezeigt).
- was passiert bei ReDim Preserve vtnOpen(lngIndex)
Danke und Gruss, Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Variant Variable
13.11.2012 18:37:20
ChrisL
Hi Peter
Variant kann grundsätzlich alles sein, Zahl, Textstring, Datum... (Datentyp)
Was für Dich neu ist, sind "Array"
http://de.wikipedia.org/wiki/Feld_%28Datentyp%29
Darin lassen sich mehrere Daten versorgen, eine ganze Liste von Daten. Mit der Liste, die in dieser Variable gespeichert ist, kannst du dann wie mit einer Excel-Tabelle umgehen und z.B. die Vergleichs-Funktion =VERGLEICH() anwenden (im Fall geschehen mit MATCH).
Wenn im Voraus unklar ist, wie gross das Array sein soll (Liste mit 5 Zeilen oder mit 50 Zeilen), dann kann man dieses nachträglich neu dimensionieren, wobei Preserve verhindert, dass der bereits enthaltene Inhalt gelöscht wird.
Ich hoffe es ist einigermassen verständlich. Jetzt wo du weisst wonach du Suchen musst findest du bestimmt auch Webseiten die dir das ganze noch genauer erklären.
cu
Chris

Anzeige
Ergänzung
13.11.2012 19:12:20
Luc:-?
Naamt, Peter;
1.Frage: ReDim vntOpen(0) ist hier wohl deshalb erforderl, weil anschließend mit der Variablen gearbeitet wdn soll → dazu muss sie wenigstens für ein Element (0) dimensioniert sein, da sie ein Datenfeld repräsentieren soll.
2.Frage basiert auf einem Missverständnis (s.zu VERGLEICH bei Chris), es wird damit der ganze DatenfeldVektor repräsentiert (eine Matrix wäre nicht mögl, weil Match so nur mit Vektoren arbeitet!) → es wird kein Wert angezeigt, weil der VBE-Intellisense das nur für Einzelwerte tut.
3.Frage wurde bereits von Chris ausreichend erklärt.
Gruß Luc :-?

Anzeige
AW: Frage zu Variant Variable
14.11.2012 21:27:36
Peter
Hallo Chris und Luc
Vielen Dank für die Ausführungen und Links.
Das hilft mir weiter.
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige