Hi,
manchmal hilft mir das kommentieren einzelner Zeilen, um den Fehler zu finden.
Ich habe Deinen Code mal kommentiert und mit ner MessageBox innerhalb der Zeile versehen, sodass Dir der aktuelle Inhalt von der Variablen Summe ausgegeben wird. Am Besten mal den Code via F8 in EInzelschritten ausführen und das Ergebnis verfolgen.
Anschließend dasselbe mit dem modifizierten Code von mir durchführen.
Hinweis:
Messagebox kann nervig sein - ich würde auf Debug.Print bzw das lokale Anzeigenfenster ausweichen . Aber das wirste mit der Zeit noch selbst hinkommen.
Namenskonvention, Deklaration und Definition von Variablen, With-Block usw wird sicherlich bald Thema werden. Geändert habe Ich bewusst nichts weiter.
Option Explicit
Sub SchleifeAdierenDerWerte()
Dim i As Integer
Dim Summe As Integer
For i = 1 To 10 Step 1
'Merke dir den Wert aus Spalte B und der Zeilennummer,
'welche Sder Schlöeifenzähler i aktuell liefert, in der Variablen Summe
Summe = (ActiveWorkbook().Sheets("Spiele").Cells(i, 2))
'Zähle nun den aktuellen Wert von i dazu
Summe = (Summe + i)
'Schreibe das Ergebnis in B11
ActiveWorkbook().Sheets("Spiele").Cells(11, 2).Value = Summe
MsgBox Summe, vbOKOnly, "aktueller inhalt der Vairablen Summe"
'mach weiter mit dem nächsten i
Next i
End Sub
Sub modSchleifeAdierenDerWerte()
Dim i As Integer
Dim Summe As Integer
'initialisiere die Variable Summe ausserhalb der Schleife;
'ist kein muss, machts aber leserlicher, finde ich;
Summe = 0
For i = 1 To 10 Step 1
Summe = Summe + (ActiveWorkbook().Sheets("Spiele").Cells(i, 2))
MsgBox Summe, vbOKOnly, "aktueller inhalt der Vairablen Summe"
Next i
'Genügt ausserhalb der Schleife;
ActiveWorkbook().Sheets("Spiele").Cells(11, 2).Value = Summe
End Sub
|