AW: Array - Keine Zuweisung an Datenfeld möglich
27.04.2009 08:03:56
eres
Hallo Nepumuk, gestattest Du mir als VBA-Lehrling eine Nachfrage ?
Du schreibst, "es ist grundsätzlich nicht möglich einem Array mit = etwas zuzuweisen."
Wenn ich nun Tino's Lösung ansehe:
Sub TinosAnsatz
Dim BU
BU = Array(2000, 2001, 2002, 2003)
MsgBox BU(0)
End Sub
heißt dies dann, dass ich der Variable BU (vom Typ Variant) ein Array zuweise, wodurch diese Variable dann erst zu einem Datenfeld ("Array") wird ?
Auf der anderen Seite, wenn ich also ein zunächst ein Array definiere
Dim BU
dann kann ich diesem Datenfeld nur jeweils einzelne Werte (z.B. über Schleife) zuweisen ?
Hab ich dies so korrekt verstanden ?
p.s.
(1) Nochmals vielen Dank für Deine Mitarbeit hier im Forum. Ich bewundere das Wissen der Experten hier und denke, auch wenn es Mini-Schritte sind, immer etwas weiterzukommen Dank Euch.
(2) Wegen meinem "Rinkernspeicher": Ich habe versucht eine sehr große csv-Datei zu bearbeiten und stoße hier auf Excel-Speicherfehler. Ich bin so vorgegangen:
Ich lese zunächst 50.000 Sätze in ein Array (mittels Schleife), lege die dann in einem Arbeitsblatt "work" ab, lösche das Array, wähle dann Daten-Text-in-Spalten und lösche alle Spalten bis auf 2 von mir benötigte Spalten. Über diese beide Spalten erstelle ich dann eine Pivot-Tabelle. Diese übersichtliche Tabelle lese ich von Zeile 1 bis zum Ende und speichere mit die hier von mir benötigten Zeilen in einem Zielblatt ab.
Danach lösche ich das Pivotblatt und das Arbeitsblatt "work" um nun die nächsten 50.000 Sätze einzulesen.
Das klappt für so 15-20 Durchläufe ganz gut und danach bewegt sich der Rechner kaum noch und meldet "zu wenig Speicher".
Ich muss mir hier wohl einen gänzlich anderen Ansatz überlegen, der jedoch nicht Access heißen darf, da dies bei uns nicht verwendet werden soll ...
Nochmals VIELEN Dank
Gruß
erwin