Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
308to312
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
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Index außerhalb des gültigen Bereichs?

Index außerhalb des gültigen Bereichs?
15.09.2003 17:58:38
benni
Ich bekomme bei der unten angeführten Schleife immer diese Fehlermeldung:
Laufzeitfehler "Index außerhalb des gültigen Bereichs"
Dieser Fehler tritt schon in der ersten For-Schleife ein. Woran liegt das?
Was hab ich denn da übersehen?
Es wird immer am vorletzten Datensatz abgebrochen...


Sub irgendwas()
Dim ID
Dim anz As Integer
Dim q As Integer
q = 3
While Not IsEmpty(Cells(q, 3))          'solange es Datensätze gibt
q = q + 1
Wend
anz = q - 3
'MsgBox anz
ReDim astatus(anz) As Integer                'Feld von Statusvariablen
For q = 3 To 3 + anz - 1
'Abfrage, ob alle notwendigen Felder ausgefüllt wurden
If IsEmpty(Cells(q, 1)) Or IsEmpty(Cells(q, 2)) Or IsEmpty(Cells(q, 4)) Then
Cells(q, 1).Interior.ColorIndex = 22    'Färbe erste Zelle rot
astatus(q) = 0
Else
astatus(q) = 1
End If
Next
For q = 3 To 3 + anz - 1
If astatus(q) = 0 Then
MsgBox "Es sind nicht alle notwendigen Angaben gemacht worden. Bitte füllen Sie die markierten Zellen."
Exit Sub
End If
Next
Neuanfang:
ID = InputBox("Bitte Geben Sie den Namen ein, unter dem dieses Registerblatt gespeichert werden soll:", "Speichern", "Name?")
If ID = "" Then
MsgBox "Der Speichervorgang wurde abgebrochen!"
Exit Sub
ElseIf ID = "Name?" Then
MsgBox "Bitte geben Sie einen korrekten Namen ein!"
GoTo Neuanfang
Else
'Dokument wird gespeichert
MsgBox "Das Dokument wurde gespeichert!"
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Index außerhalb des gültigen Bereichs?
15.09.2003 18:16:02
ChrisL
Hi benni

Was soll den das Makro machen?

Habe mal den Code ein kleines Stück gelesen und da gibt es z.B. folgendes Problem...

z.B.

Dein Bereich ist von C3:C6, die Variable 'anz' wird somit auf 4 definiert.

Entsprechend dimensionierst du das Array 'astatus'

Dann lässt du die Schlaufe laufen von...

3 bis 3 + anz - 1 d.h. von 3 bis 6

Dann wird 'astatus' mit 'q' beginnend abgefüllt..

astatus(3)
astatus(4)
astatus(5)
astatus(6)

Da das Array 'astatus' aber nur auf 4 dimensioniert wurde, erhälst du bei q = 5 einen Fehler.

Gruss
Chris
Anzeige
ja klar.... DANKE! o.T.
15.09.2003 18:18:29
benni
*
AW: Array ist kleiner als anz
15.09.2003 18:28:09
ChrisLa
anz ist um 2 größer als dein Array, das verursacht bei den letzten beiden Datensätzen dass Problem, Du müsstet das Array vergrößern oder die For-Next-Schleife 2 Durchgänge weniger machen lassen

Gruß

Chris
AW:anz > Dein Array
15.09.2003 18:29:49
ChrisLa
kam die erste Nachricht an?

anz ist um 2 Werte kleiner als astatus, da liegt der Fehler

Gruß

Chris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige