Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1104to1108
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

VBA: Array definieren?!

VBA: Array definieren?!
André
Moin zusammen,
ich muß in VBA ein Array definieren. Üblicherweise mache ich das wie folgt:
DIM MeinArray(2) AS Single
MeinArray(0) = 12.3
MeinArray(1) = 18.1
MeinArray(2) = 7.9
Soweit funktioniert das noch sehr gut. Was aber, wenn ich ein Array mit wesentlich mehr Elementen definieren muß? Im aktuellen Fall sind es rd. 100 Elemente. Klar ich könnte für jedes Element eine Zeile VBA-Code tippen, daß ist aber langwierig und macht den Code nicht gerade übersichtlicher.
Ich hatte gehofft, daß es so geht:
DIM MeinArray(2) AS Single
MeinArray = (12.3, 18.1, 7.9)
Geht leider nicht, kommt eine Fehlermeldung, daß hinter dem ersten Wert eine schließende Klammer erwartet wird. Gibt es eine vergleichbar kurze Schreibweise, um viele Arrayelemente gleichzeitig zuzuweisen?
Danke!
Gruß, André

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: Array definieren?!
23.09.2009 12:28:18
Rudi
Hallo,
dim meinArray
meinArray=Array(12.3, 18.1, 7.9)
Gruß
Rudi
Danke!
23.09.2009 12:32:02
André
Wow, das ging ja schnell. Danke euch dreien für die Antwort, genau so klappt es bestens.
Gruß, André
AW: VBA: viel Code - schnell erstellt
23.09.2009 18:24:54
Daniel
Hi
bei hundert und mehr Werten halte ich die kurzschreibweise auch nicht unbedingt für sinnvoll, denn wenn du da man einen wert gezielt korrigieren musst, ist das sehr Fehleranfällig.
um sich tipparbeit zu sparen, dann man solchen Code auch in Excel mit Hilfe von Formeln erstellen und das dann in den VBA-Edtior kopieren.
der Kode ist dann zwar lang, aber trotzdem schnell erstellt.
für dein beispiel würde das dann so aussehen:
Spalte A Text: "MeinArray("
Spalte B Formel: =Zeile()-1
Spalte C Text: ")="
Spalte D: deine Werte
Spalte A-C kopierst du soweit nach unten wie nötig, in spalte D trägst du die Werte ein, dann kopierst du das ganze aus der Exceltabelle nach VBA.
um jetzt den Hauptcode von solchen lagwierigen Definitionen zu befreiten, könnte man die Variablen auch global definieren (dh. direkt bei Option Explicit, so daß sie für alle Makros gültig sind) und dann die Wertzuweisung in ein anderes Marko auslagern, daß dann vom Hauptmakro nur noch aufgerufen wird.
Gruß, Daniel
Anzeige
Dim MeinArray As Variant und dann Array vor...
23.09.2009 12:28:38
Luc:-?
...den Klammerausdruck, André!
Gruß Luc :-?
AW: VBA: Array definieren?!
23.09.2009 12:29:30
Tino
Hallo,
versuche es mal so.
Dim MeinArray
MeinArray = Array(12.3, 18.1, 7.9)
Gruß Tino

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige