11.12.2018, 15:03
Hallo zusammen,
leider muss ich schon wieder was nachfragen:
Ich habe eine Userform die mir Daten in 2 verschiedene Tabellenblätter überträgt.
Irgendwo im Code habe ich aber wohl einen Fehler, da die Übertragung sehr lange dauert.
Kann mir jemand sagen was ich hier falsch gemacht habe?
Vielen Dank mal wieder !
Schöne Grüße
Thomas
leider muss ich schon wieder was nachfragen:
Ich habe eine Userform die mir Daten in 2 verschiedene Tabellenblätter überträgt.
Irgendwo im Code habe ich aber wohl einen Fehler, da die Übertragung sehr lange dauert.
Kann mir jemand sagen was ich hier falsch gemacht habe?
Code:
Private Sub Speichern_Click()
If TextBox1.Text <> "" Then
' Eintrag in Rechnungsbuch
With Sheets("Rechnungsbuch")
' letzte freie Zeile in Spalte B finden
Dim efz As Long
efz = Application.CountA(.Columns(2)) + 4
' Werte eintragen
Sheets("Rechnungsbuch").Cells(efz, 3) = CDate(Me.TextBox1.Value) 'R-Datum
Sheets("Rechnungsbuch").Cells(efz, 5) = ComboBox21.Value 'Kunde / Lieferant
Sheets("Rechnungsbuch").Cells(efz, 4) = TextBox3.Value 'Rechnungsnummer
Sheets("Rechnungsbuch").Cells(efz, 6) = CCur(Me.TextBox4.Value) 'Rechnungsbetrag
Sheets("Rechnungsbuch").Cells(efz, 2) = TextBox85.Value 'Forderung/Lieferrechnung
End With
End If
' Eintrag in Umsatzliste
With Sheets("Umsatzliste")
' letzte freie Zeile in Spalte B finden
Dim efz2 As Long
efz2 = Application.CountA(.Columns(2)) + 3
' jeweils prüfen ob Artikel ausgefüllt dann Übertrag
For lngC = 5 To 24
If Controls("TextBox" & lngC).Value <> "" Then
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 2) = CDate(Me.TextBox1.Value) 'R-Datum
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 3) = CDate(Controls("TextBox" & lngC).Value) 'L-Datum
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 4) = ComboBox21.Value 'Kunde / Lieferant
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 5) = TextBox3.Value 'Rechnungsnummer
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 6) = Controls("ComboBox" & lngC - 4).Value 'Artikel
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 7) = CDbl(Controls("Textbox" & lngC + 20).Value) 'Umsatz
If Controls("TextBox" & lngC + 60).Value <> "" Then
Sheets("Umsatzliste").Cells(efz2 + lngC - 4, 9) = CCur(Controls("TextBox" & lngC + 60)) 'Preis / Einheit
End If
End If
Next lngC
End With
Unload Me 'Userform leeren
Erfassung.Show 'Userform neu starten
End Sub
Vielen Dank mal wieder !
Schöne Grüße
Thomas