ich habe mir mit Hilfe dieses Forums schon viel beigebracht, aber aktuell komme ich nicht weiter.
Ich habe im Hintergrund ein userform programmiert und möchte nun das, wenn bestimmte Checkboxen/Textboxen/Optionsbutton ausgewählt/gefüllt sind, mein Wert aus dem Sheet "Preise Leistung" in das Sheet "Rechnung" übertragen wird. Das funktioniert auch Einwand frei und es wird auch das Feld "A30" wie gewünscht angesteuert.
Ich möchte nun, dass jedes If-Statement - falls wahr - in die nächste freie Zeile unter A30 geschrieben werden soll. Aktuell wird immer nur das Ergebnis des letzten If-Statements in die Zelle A30 geschrieben und überschreibt somit vorherige Ergebnisse. Ich glaube ich benötige eine Schleife, weiß aber nicht wie ich diese einbauen soll.
Beispiel:
If-Statement Nr2, Nr3 und Nr5 sind wahr, dann wird aktuell das Ergebnis von Nr5 in A30 geschrieben.
Ich möchte aber, dass Nr2 in A30, Nr3 in A31 und Nr5 in A32 geschrieben wird (also immer in die nächste/letzte freie Zeile)
Ich hoffe meine Problem ist verständlich beschrieben und ihr habt eine Idee für mich.
Sub R_daten()
Worksheets("Rechnung").Range("A30:a50").Clear
Dim i As Long, lastrow As Long
lastrow = Sheets("Rechnung").Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 30 To lastrow
'Nr1
If CheckBox1.Value = True And Me.TextBox10 = 1 And OptionButton1.Value = False Then
Worksheets("Rechnung").Cells(i, 1) = Worksheets("Preise Leistung").Range("A2")
End If
'Nr2
If CheckBox1.Value = True And Me.TextBox10 = 2 And OptionButton1.Value = False Then
Worksheets("Rechnung").Cells(i, 1) = Worksheets("Preise Leistung").Range("A3")
End If
'Nr3
If CheckBox1.Value = True And Me.TextBox10 > 0 And Me.TextBox16 > 0 And OptionButton1.Value = _
False Then
Worksheets("Rechnung").Cells(i, 1) = Worksheets("Preise Leistung").Range("A14")
End If
'Nr4
If (CheckBox1.Value = True Or CheckBox8.Value = True Or CheckBox7.Value = True Or CheckBox6. _
Value = True) And Worksheets("Rechnung").Range("A2") > 0 And OptionButton1.Value = False Then
Worksheets("Rechnung").Cells(i, 1) = Worksheets("Preise Leistung").Range("A21")
End If
'Nr5
If CheckBox5.Value = True And OptionButton1.Value = False Then
Worksheets("Rechnung").Cells(i, 1) = Worksheets("Preise Leistung").Range("A20")
End If
Next
End Sub
Vielen Dank und GrüßeGesa