VBA - Überlauffehler nach "Aufräumaktion"
29.11.2018 11:51:55
Christoph
ich bin als VBA-Anfänger beim "aufräumen" eines kleinen Makros auf einen Fehler gestoßen, den ich mir nicht erklären kann.
Ich hatte einen ursprünglichen Code der wie folgt sehr gut seine Arbeit gemacht hat:
Sub Ersten_Wert_ausgeben()
' Makro12 Makro
Dim Spalte As Integer
Spalte = 5
Do While ActiveSheet.Cells(8, Spalte) 0
Dim Zeile As Integer
Zeile = 41
Do Until ActiveSheet.Cells(Zeile, Spalte) 0
Zeile = Zeile + 1
Loop
ActiveSheet.Cells(Zeile, Spalte).Copy
ActiveSheet.Cells(25, Spalte).PasteSpecial xlPasteValues
Spalte = Spalte + 1
Loop
End Sub
Hier sind die Variablen wild im Code definiert. Ich wollte nun etwas aufräumen und die Deklarationen an den Anfang verlagern. Also quasi:Sub Ersten_Wert_ausgeben()
Dim Spalte As Integer
Spalte = 5
Dim Zeile As Integer
Zeile = 41
Do While ActiveSheet.Cells(8, Spalte) 0
Do Until ActiveSheet.Cells(Zeile, Spalte) 0
Zeile = Zeile + 1
Loop
ActiveSheet.Cells(Zeile, Spalte).Copy
ActiveSheet.Cells(25, Spalte).PasteSpecial xlPasteValues
Spalte = Spalte + 1
Loop
End Sub
Doch nun wird ein Überlauffehler bezüglich der "Zeile = Zeile +1" ausgegeben. Ändert sich durch das "nach vorne verlagern" etwa die Gültigkeit der Deklaration? Oder liegt der Fehler gar ganz wo anders? Würde mich sehr über erhellende Einblicke freuen.
Ciao