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

Auf Array zugreifen

Auf Array zugreifen
16.09.2008 11:52:00
Reinhard
Hallo Wissende,
ich hänge seit längerem an einer Stelle fest, ich lese einen Zellenbereich in eine Arrayvariable ein durch
B = Range("A1:A" & Anz)
sofern B überhaupt eine Arrayvariable ist, so langsam blicke ich überhaupt nicht mehr durch, hier ein Beispielcode:

Option Explicit
Sub test()
Dim B, Anz, Z
Anz = 1000
B = Range("A1:A" & Anz)
Range("D1:D" & Anz) = B  'klappt
For Z = 0 To Anz
MsgBox UBound(B)  'klappt, 1000 wird angezeigt
MsgBox B(Z)            'Laufzeitfehler 9, Index außerhalb
Next Z
End Sub


Auch Versuche mit
msgbox B(1,1)
msgbox B(0,0)
und was mir noch so einfiel brachten mich nicht weiter.
Wie lautet der Code damit ich mir B(1), B(2) usw. anschauen kann?
Danke ^ Gruß
Reinhard

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

Betreff
Datum
Anwender
Anzeige
AW: Auf Array zugreifen
16.09.2008 11:59:00
Beverly
Hi Reinhard,
wenn ein Zellebereich direkt eingelesen wird, beginnt das Array nicht bei 0 sondern 1 und in diesem Fall musst du Option Base auf 1 setzen

Option Explicit
Option Base 1
Sub test()
Dim B, Anz, Z
Anz = 1000
B = Range("A1:A" & Anz)
Range("D1:D" & Anz) = B  'klappt
For Z = 1 To Anz
MsgBox B(Z, 1)
Next Z
End Sub




AW: Auf Array zugreifen
16.09.2008 13:22:36
Rudi
Hallo,
aus einem Range gefüllte Arrays sind immer 2-dimensional. Beide Dimensionen beginnen bei 1.
Array(AnzahlZeilen,AnzahlSpalten). In deinem Fall also B(1 -1000, 1-1).
Die Schleife muss also
For Z=1 to Anz
heißen.
Warum B(1,1) nicht klappt ist mir schleierhaft.
Tipp: Blende dir das Lokalfenster ein (Ansicht-Lokalfenster) und gehe den Code mit F8 durch. Dann kannst du dir wunderbar deine Variableninhalte anschauen.
Gruß
Rudi
Anzeige
Rückmeldung
18.09.2008 21:08:28
Reinhard
Danke an euch beide,
klappt beides, warum bei mir vorher B(1,1) nicht ging ist mir schleierhaft.
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige