ich stehe grad ein wenig auf Schlauch bei meinem Code. Habe eine Tankerfassungsystem per VBA entworfen und hänge nun bei folgendem Problem.
Ich nehme täglich den Tankstand auf und hol mir per Drop Down den jeweiligen Tank in meine Maske. Es werden die Werte der vorherigen Buchung eingelesen und in entsprechende Felder eingetragen. Um jetzt ohne Formeln den Verbrauch (Differenz zwischen aktuellen Tankstand und den des Vortags) wollte ich in meinem Code eine Rechenoperation durchführen, um beide Tankstände zu subtrahieren. Jetzt bin ich noch ein rechter Newbie in VBA und bei Youtube fand ich nur Video wo man dies mit Range macht, aber da ich ja bei meinen Eintragungen immer über die Suche der letzten freien Zeile arbeite halte ich das für ungeeignet. Ich stell mich sicher total blöd an und wäre gut wenn mir da jemand helfen bzw. mir auch ne Alternative aufzeigen könnte, die mir da weiterhilft. Anbei der Code. Gute Nacht an alle :-)
Private Sub Eintragen()
'Pfad für die Dateneintragung
Dim AktuellerEintrag As Long
Dim LetzterEintrag As Long
Dim lngLastRow As Long
Dim a As Long
Dim b As Long
Dim wsRohdaten As Worksheet
Set wsRohdaten = ThisWorkbook.Sheets(Me.cmbTank_Entnahme.Value)
With wsRohdaten
LetzterEintrag = (.Cells(Rows.Count, 1).End(xlUp).Row) - 1
AktuellerEintrag = (.Cells(Rows.Count, 1).End(xlUp).Row)
lngLastRow = (.Cells(Rows.Count, 1).End(xlUp).Row) + 1
'Eintragen der Werte in die Textfelder des Vortages
.Cells(lngLastRow, 1).Value = Me.cmbTank_Entnahme.Text
.Cells(lngLastRow, 2).Value = CDate(Me.txtUhrzeit_Entnahme)
.Cells(lngLastRow, 3).Value = CDate(Me.txtDatum_Entnahme)
.Cells(lngLastRow, 4).Value = CDbl(Me.txtTankbestand_Entnahme)
.Cells(lngLastRow, 5).Value = UCase(Me.txtErfasser_Entnahme)
'Erstellung der Variablen für die Rechenoperation
a = (.Cells(AktuellerEintrag, 4).End(xlUp).Row)
b = (.Cells(LetzterEintrag, 4).End(xlUp).Row) - 1
a -b = .Cells(lngLastRow, 6).Value
Cells(lngLastRow, 6).Value = CDbl(Me.txtVerbrauch_Entnahme)
End With
End Sub