Anzeige
Archiv - Navigation
356to360
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
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

out of range error

out of range error
06.01.2004 10:58:44
Gorginio
Hallo zusammen,

Warum erhalte ich bei der For schleife einen out of range error??

....
' Funktionierende Schleife zum einlesen des arrays; (array zeilenindex = i)
' letzten Wert fuer i an n uebergeben
n = i

i = 1
For i = 1 To n Step 1
If Data_array(i, 1) = "Hund" And Data_array(i, 2) = "Haus" Then
Debug.Print Data_array(i, 1) & " " & Data_array(i, 2);
End if
Next i
....

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: out of range error
06.01.2004 11:03:50
Hans W. Herber
Hallo Gorginio,

in Dienem Beispiel wird eine Schleife über einen Datensatz geführt (Step 1 kann übrigens entfallen). Kann es sein, dass das Array nicht mit der Startzahl 1 initialisiert wurde und der erste Datensatz den Zeilenindex 0 hat?

gruss hans
AW: out of range error
06.01.2004 12:13:43
Gorginio
Hallo Hans,

Nein, ich habe

Option Explicit
Option Base 1

angeben.

gruss Georg
AW: out of range error
06.01.2004 12:19:18
Martin Beck
Hallo Georg,

irgendwo in Deinem Code hast Du den Array deklariert und gefüllt und so lange Du uns den Code vorenthältst, läßt sich nicht viel sagen. Also: poste den kompletten Code.

Gruß
Martin Beck
Anzeige
AW: out of range error
06.01.2004 17:08:48
Gorginio
Sorry, fuer die spaete Antwort,
hier nun der gesamte code...

Warum out of range???

Option Explicit
Option Base 1

'Finds last row with data in the table INSERT HERE

Function last_row_address(s As String, column1 As Integer)
last_row_address = Cells(Rows.Count, 1).End(xlUp).Row
End Function



Sub selector()
Dim i, j, l, m, n As Integer
Dim Data_array() As String
Dim lastrow As Long
lastrow = last_row_address("INSERT HERE", 1)
Sheets("INSERT HERE").Activate
ReDim Data_array(1 To lastrow, 1 To 2)
i = 1
' 3 rows headline
j = 4
For i = 1 To lastrow Step 1
Data_array(i, 1) = Cells(j, 1).Value
Data_array(i, 2) = Cells(j, 2).Value
j = j + 1
Next i
n = i
i = 1
For i = 1 To n
If Data_array(i, 1) = "Tier" And Data_array(i, 2) = "Haus" Then
Debug.Print Data_array(i, 1) & " " & Data_array(i, 2);
End If
Next i
End Sub

Anzeige
AW: out of range error
06.01.2004 17:42:39
Martin Beck
Hallo Georg,

nimm statt

n = i

n = i - 1

In der Schleife wird i hochgezählt und zwar bis lastrow + 1 (immer eins weiter, als in der Schleife angegeben. Da Du den Array nur mit lastrow deklariert hast, läuft die letzte Schleife im letzten Durchlauf auf einen Fehler, weil n = lastrow + 1 und das ist out of range.

Gruß
Martin Beck
AW: out of range error
09.01.2004 15:50:39
Gorginio
Danke fuer den Tip, das war's nun rennt das Ding

Liebe Gruesse,
Gorginio

166 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige