Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Tankbuch

Forumthread: Excel Tankbuch

Excel Tankbuch
18.01.2013 20:27:15
bastian
Hallo,
Ich versuche zur Zeit in Excel mit Hilfe von VBA ein Tankbuch zu realisieren.
Die Eingabe (per Inputbox) von Datum, KM-Stand, Liter, Literpreis und die Berechnung des Gesamtpreises funktionieren schon super.
Die Ergebnisse werden unter einander in eine Tabelle eingetragen (A1: Datum1, A2: Datum2, A3: Datum 3 usw.)(siehe Anhang).
Nun sollen noch die gefahrenen KM und der Verbrauch berechnet werden.
Dafür soll der KM Stand von Datum 3 von Datum 2 abgezogen und in eine Zelle eingetragen werden.
Dies funktioniert bisher nur wenn ich die Zellen fest vorgeben:
' Gefahrene KM berechnen und eintragen
Range("C4").Value = Range("B4") - Range("B3")
Wie kann ich in VBA programmieren, dass er immer die letzten beiden Zellen (bzw die aktuelle von der davor) auswählt, bzw subtrahiert.
Das selbe Problem hab ich beim berechnen des ca. Verbrauchs. bisher hab ich dies auch nur statisch gelöst:
' ca Verbrauch berechnen
Range("G4").Value = Range("D4") / Range("C3") * 100
Ich hoffe meine Erklärung ist einigermaßen verständlich :)
Bin für jede Hilfe dankbar! Nur bitte nicht zu viel an meinem bisherigen Code verändern. Ein richtiger Profi wird wahrscheinlich lachen, bzw den Code radikal kürzen können, aber ich bin noch absoluter VBA Neuling und würde gerne alle Schritt nachvollziehen können, will schließlich was lernen und nicht einfach nur alles vorgekaut bekommen ;)
Die Datei findet ihr unter: https://www.herber.de/bbs/user/83473.xlsm
Vielen Dank schon mal im Voraus!

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Tankbuch
18.01.2013 21:30:12
Franc
Die Voraussetzung hast du schon.
Die Variable lngFirstFree brauchst du übrigens nur 1x am Anfang.
Deine Variante für die km
Range("C4").Value = Range("B4") - Range("B3")
Das ist mit der variablen Berechnung folgendes
Ich arbeite persönlich selbst gern mit Cells anstatt mit der Range Variante
Ist in dem Fall aber eigentlich unwichtig, weil man das erst bräuchte wenn auch die Spalte variabel sein soll)
Cells(lngFirstFree, 3) = Cells(lngFirstFree, 2) - Cells(lngFirstFree - 1, 2)
Cells Befehl = cells(reihe,spalte)
Genaue Erklärung
Cells(lngFirstFree, 3) das ist im Prinzip das gleiche wie bei dir Range("C4").Value
Cells(lngFirstFree, 2) = die aktuelle Zeile wo deine aktuellen km in Spalte B stehen
Cells(lngFirstFree - 1, 2) = eine Zeile davor in Spalte B
So wird immer die aktuelle Zeile - die davor berechnet
Für das Benzin wäre es folgendes
Range("G4").Value = Range("D4") / Range("C3") * 100
Hier hast du übrigens einen Fehler gemacht. Du berechnest den Verbrauch mit den aktuell getankten Liter durch die gefahrenen KM vom alten Wert. Solltest schon in der selben Zeile bleiben. ^^
ergo
Cells(lngFirstFree, 7) = Cells(lngFirstFree, 4) / Cells(lngFirstFree, 3) * 100
Anzeige
;
Anzeige

Infobox / Tutorial

Excel Tankbuch: So erstellst du ein effektives Tankbuch in Excel


Schritt-für-Schritt-Anleitung

Um ein einfaches Tankbuch in Excel zu erstellen, folge diesen Schritten:

  1. Tabelle erstellen: Erstelle eine neue Excel-Datei und füge folgende Spalten hinzu: Datum, KM-Stand, Liter, Literpreis, Gesamtpreis, Gefahrene KM, Verbrauch.

  2. VBA aktivieren: Gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen.

  3. Code für die Eingabe: Füge folgenden Code in ein neues Modul ein:

    Sub TankbuchEingabe()
        Dim lngFirstFree As Long
        lngFirstFree = Cells(Rows.Count, 1).End(xlUp).Row + 1
    
        Cells(lngFirstFree, 1).Value = InputBox("Datum eingeben:")
        Cells(lngFirstFree, 2).Value = InputBox("KM-Stand eingeben:")
        Cells(lngFirstFree, 3).Value = InputBox("Liter eingeben:")
        Cells(lngFirstFree, 4).Value = InputBox("Literpreis eingeben:")
        Cells(lngFirstFree, 5).Value = Cells(lngFirstFree, 3).Value * Cells(lngFirstFree, 4).Value
    
        ' Gefahrene KM berechnen
        If lngFirstFree > 2 Then
            Cells(lngFirstFree, 6).Value = Cells(lngFirstFree, 2).Value - Cells(lngFirstFree - 1, 2).Value
        End If
    
        ' Verbrauch berechnen
        If lngFirstFree > 2 Then
            Cells(lngFirstFree, 7).Value = Cells(lngFirstFree, 3).Value / Cells(lngFirstFree, 6).Value * 100
        End If
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Eingabefelder zu nutzen.


Häufige Fehler und Lösungen

Fehler 1: Die Berechnung der gefahrenen Kilometer zeigt falsche Werte.

Lösung: Stelle sicher, dass der Code die richtige Zelle zur Berechnung verwendet. Überprüfe, ob die lngFirstFree-Variable korrekt gesetzt ist.

Fehler 2: Der Verbrauch wird nicht korrekt berechnet.

Lösung: Achte darauf, dass du in der gleichen Zeile bleibst, wenn du den Verbrauch berechnest. Ändere den Code wie folgt:

Cells(lngFirstFree, 7) = Cells(lngFirstFree, 4) / Cells(lngFirstFree, 6) * 100

Alternative Methoden

Falls Du eine Tankbuch Vorlage Excel suchst, kannst Du auch eine vorgefertigte Tankbuch Vorlage kostenlos im Internet finden. Diese Vorlagen bieten oft bereits integrierte Berechnungen und sind einfach anpassbar.


Praktische Beispiele

Ein einfaches Beispiel für ein Tankbuch Excel könnte so aussehen:

Datum KM-Stand Liter Literpreis Gesamtpreis Gefahrene KM Verbrauch
01.01.2023 10000 50 1,50 75,00
02.01.2023 10150 40 1,60 64,00 150 100,00

Hierbei wird der Verbrauch automatisch basierend auf den eingegebenen Werten berechnet.


Tipps für Profis

  • Verwendung von Cells: Anstatt Range zu verwenden, kann die Verwendung von Cells flexibler sein, besonders wenn Du mit variablen Zeilen und Spalten arbeitest.
  • Datenvalidierung: Füge Datenvalidierungsregeln hinzu, um sicherzustellen, dass die Eingaben korrekt sind (z.B. nur positive Zahlen für Liter und KM-Stand).
  • Diagramme: Nutze Excel-Diagramme, um den Verbrauch visuell darzustellen.

FAQ: Häufige Fragen

1. Wie kann ich ein Tankbuch kostenlos herunterladen?
Es gibt viele Websites, die kostenlose Tankbuch Vorlagen im Excel-Format anbieten. Eine schnelle Google-Suche nach "Tankbuch Vorlage kostenlos" sollte dir helfen.

2. Funktioniert das Beispiel auch in Excel 365?
Ja, der oben beschriebene Code und die Methoden funktionieren in Excel 365 sowie in früheren Versionen von Excel.

3. Kann ich das Tankbuch auch auf meinem Smartphone verwenden?
Ja, Du kannst Excel-Dateien auch auf Smartphones nutzen, jedoch ist die VBA-Funktionalität auf mobilen Geräten eingeschränkt. Es empfiehlt sich, das Tankbuch am Desktop zu pflegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige