Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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

Array dimensionieren

Array dimensionieren
Sibylle
Hallo,
VBA erlaubt folgende Dimensionierung von Arrays:
Dim Feld(-5 TO 7) as integer
In welchen Fällen ist dies Art von Dimensionierung sinnvoll oder ist es nur eine Spielerei?
Gruß
Sibylle

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Untergrenze von Array festlegen
22.11.2009 11:41:59
Array
Hallo Uwe,
ein sehr willkommener Literaturhinweis.
Dennoch bleibt die Frage: Was soll ein negativer Index?
Ich erkenne da keine Anwendungsmöglichkeit.
Gruß
Sibylle
Array mit negativen Dimensionen
22.11.2009 13:13:24
Uwe
Hallo Sibylle,
die Dimensionen sind halt frei wählbar.
Ich habe noch keine Arrays mit negativen Dimensionen weder gebraucht noch gesehen.
Gruß Uwe
AW: Zusatzfrage
22.11.2009 13:43:52
Sibylle
Hallo Uwe,
... dann bin ich ja beruhigt. Danke für Deinen Beitrag.
Ich hatte diese Dim-Zeile einem Buch entnommen und konnte damit nichts anfangen.
Eine Zusatzfrage: Weshalb einen zweidim. Array und keine 2 eindim Arrays verwenden?
Gibt es dafür wichtige Gründe?
Gruß
Sibylle
Anzeige
AW: Zusatzfrage
22.11.2009 14:30:07
Uwe
Hallo Sibylle,
das steht auch in dem verlinkten Tutorial nebst den weiterführenden Links.
Aber noch mal kurz:
Zweidimensionale Arrays braucht man, wenn man mit Excelzellen arbeitet.
Eine Zelle wird durch 2 Dimensionen, nämlich Zeile und Spalte, adressiert.
In VBA dann z.B. für Zelle D2 Cells(2, 4). Du siehst, die Cells-Eigenschaft ist auch
ein zweidimensionales Array.
Ein kleines Beispiel.
Die Variable vnArray wird ohne Dimensionen als Variant deklariert.
Durch die Zuweisung der Werte eines Zellbereiches werden die Arraydimensionen automatisch angelegt.
Diese kannst Du im Lokalfenster auch sehen.
Sub ArrayTest()
Dim vnArray As Variant
Dim i As Long
Dim rngBereich As Range
Set rngBereich = ActiveSheet.Range("A1:A5")
vnArray = rngBereich.Value
Stop  'Code anhalten, weiter mit Taste F5
rngBereich.Offset(0, 3).Value = vnArray
Stop  'Code anhalten, weiter mit Taste F5
For i = 1 To UBound(vnArray)
vnArray(i, 1) = "vnArray(" & i & ", 1)"
Next i
Stop  'Code anhalten, weiter mit Taste F5
rngBereich.Value = vnArray
End Sub

Gruß Uwe
Anzeige
AW: Danke
22.11.2009 14:52:39
Sibylle
Hallo Uwe,
vielen Dank für die Beantwortung meiner Zusatzfrage. Ich denke, jetzt ist es klar.
Danke schön.
Gruß
Sibylle
AW: Zusatzfrage
22.11.2009 14:38:18
Daniel
Hi
naja wenn ich nur eindimensionale Arrays verwende, dann brauche ich für jedes Element der 2. Dimension eine eigene Variable.
das ergibt dann folgende Nachteile:
- das können viele werden
- ich kann die 2. Dimension nicht mehr über die Index-Nummer ansprechen, sondern muss immer direkt die entsprechende Variable verwenden. dh ich kann die 2. Dimension nicht mehr berechnen und auch nicht mehr in Schleifen abarbeiten, was u.U. einen erhöhten Programmieraufwand bedeutet.
Gurß, Daniel
Anzeige
AW:Danke
22.11.2009 14:51:04
Sibylle
Hallo Daniel,
ok, verstanden.
Danke schön.
Gruß
Sibylle

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige