Excel vba regiert nicht auf schleife

Ich habe folgenden Code:
Private Sub CommandButton1_Click()
FreieZeile = (Worksheets(„Stunden“).Cells(Rows.Count, 1).End(xlUp).Row) + 1

For i = 2 To 100
If Cells(i, 1).Value = TextBox1.Value Then
Cells(i, 3).Value = Cells(i, 3).Value + TextBox2.Value
Else
Cells(FreieZeile, 1).Value = TextBox1.Value
Cells(FreieZeile, 2).Value = „'0810“
Cells(FreieZeile, 3).Value = TextBox2.Value
End If
Next i

End Sub

Damit soll eigendlich, wenn der Wert von Textbox1 in Spalte Aschon vorhanden ist, der Wert in Spalte C + der Wert von Textbox2 in Spalte C geschrieben werden.
Leider fügt es aber die Werte immer in eine neue Zeile.

Was ist Falsch?

Gruss Walti

Bei der IF Zeile musst du „==“ schreiben um die Werte zu vergleichen. Ein „=“ bedeutet eine Zuweisung. Somit wird bei dir immer der gleiche IF Zweig ausgeführt

Wenn ich das so schreibe: If Cells(i, 1).Value = = TextBox1.Value Then

bekomme ich eine Fehlemeldung.

Wir sind hier aber in VBA, nicht in C :wink:

Gruß,

Kannitverstan

In der TextBox steht - wie der Name schon sagt - Text. Selbst wenn du Zahlen eintippst, werden die als Text behandelt.
In der Zelle kann auch eine Zahl stehen, die mit „Value“ abgerufen aber eben kein Text ist.
Der Vergleich von Text und Zahlen verlangt eine Umwandlung des einen in das andere. Also entweder erlaubst du nur Zahlen und schreibst

If Cells(i, 1).Value = val(TextBox1.Value) Then

oder - was viel flexibler und robuster ist - du behandelst den Zellwert als Text und schreibst

If Cells(i, 1).Text = TextBox1.Value Then

Gruß,

Kannitverstan

Ich werde bedes, am Montag, Testen. Danke schonmal. Gruss Walti