Hallo,
ich habe folgenden Code geschrieben, der syntaxtechnisch einwandfrei ist:
For k = 51 To 87 '87
For i = 48 To 84
If WorksheetFunction.IsError(Sheets("MigrationMatrix_CR").Cells(k, i - 43) / Application.Sum(Sheets("MigrationMatrix_CR").Range("C" & k & ":AO" & k))) = True And Sheets("MigrationMatrix_CR").Cells(48, i) = "L" Then
Sheets("MigrationMatrix_CR").Cells(k, i) = 1
ElseIf WorksheetFunction.IsError(Sheets("MigrationMatrix_CR").Cells(k, i - 43) / Application.Sum(Sheets("MigrationMatrix_CR").Range("C" & k & ":AO" & k))) = True And Sheets("MigrationMatrix_CR").Cells(48, i) <> "L" Then
Sheets("MigrationMatrix_CR").Cells(k, i) = 0
Else: Sheets("MigrationMatrix_CR").Cells(k, i) = Sheets("MigrationMatrix_CR").Cells(k, i - 43) / (Application.Sum(Sheets("MigrationMatrix_CR").Range("C" & k & ":AO" & k)))
End If
Next i
Next k
Der Code funktioniert für jede Variable außer für k=84.
k=85 usw funktioniert wieder. Ich bekomme immer die Fehlermeldung Überlauf. Die Standardfehler bei dieser Fehlermeldung sind: Endlosschleife oder nicht ausreichende Variablendeklaration.
Allerdings habe ich zum einen keine Endlosschleife und zum anderen benutze ich keine Variablen in diesem Code. Ich habe nur Laufvariablen, die ich mit Long definiert habe und sonst nur Zellenbezüge.
Wenn ich den Code für Zeile 84 schreibe (ohne Schleifen) bekomme ich die gleiche Fehlermeldung.
Ich habe auch bereits das hinterlegte Format in Excel überprüft, die Schreibweise meiner Tabellenblätter, und ob in diesen Zellen Werte stehen.
Ich weiß nicht mehr, was ich noch überprüfen soll bzw wo der Fehler sein könnte. ich hoffe, jmd kann mir weiterhelfen!
Viele Grüße
buzzi
|