Excel Verschachtelung

Dieses Thema Excel Verschachtelung im Forum "Windows XP Forum" wurde erstellt von Chapac, 21. Mai 2005.

Thema: Excel Verschachtelung Hallo alle, ich möchte gerne die Dieselverbräuche verschiedener Fahrzeuge berechnen. in Spalte A stehen die...

  1. Hallo alle,
    ich möchte gerne die Dieselverbräuche verschiedener Fahrzeuge berechnen. in Spalte A stehen die Fahrzeug-ID, in Spalte B die getankten Dieselmengen und in Spalte C die zu dem Zeitpunkt der Tankung abgelesenen Kilometerstände.
    Angenommen also Fahrzeug 1 tankt 46,5 Liter bei einem Kilometerstand von 10000 km und tankt dann wieder bei einem Kilometerstand von 10100 km eine Menge von 25 Litern etc...
    Wäre um einen Lösungsansatz sehr verlegen... ;)

    mfg Chapac
     
  2. Hallo Chapac,

    folgender Makro berechnet dir den Verbrauch und schreibt ihn in Spalte D (l / 100 km)

    ggf. müßtest du noch den Wert der Konstante c_ERSTE_WERTEZEILE anpassen, die die Eintragszeile definiert.
    Gruß Matjes :)

    Code:
    Sub VerbrauchEintragen()
    
     ->Zeilendefinitionen
      Const c_ERSTE_WERTEZEILE = 2
     ->Spaltendefinitionen
      Const c_SP_FZG_IG = 1
      Const c_SP_FZG_VERBRAUCH = 2
      Const c_SP_FZG_KMSTAND = 3
      Const c_SP_SPEZIFISCHERVERBRAUCH = 4
      
      Dim ws As Worksheet, l_Rows As Long
      Dim d_km_Stand_End As Double, d_km_Stand_Anf As Long
      Dim d_Verbrauch As Double
      
      Set ws = ActiveSheet
      l_Rows = ws.Cells(ws.Rows.Count, c_SP_FZG_IG).End(xlUp).Row
      
      For x = l_Rows To c_ERSTE_WERTEZEILE Step -1
       ->letztes Auftreten der FzgId vor der aktuellen Zeile suchen
        For y = x - 1 To c_ERSTE_WERTEZEILE Step -1
          If ws.Cells(x, c_SP_FZG_IG).Value = ws.Cells(y, c_SP_FZG_IG).Value Then
            d_km_Stand_End = ws.Cells(x, c_SP_FZG_KMSTAND).Value
            d_km_Stand_Anf = ws.Cells(y, c_SP_FZG_KMSTAND).Value
            d_Verbrauch = ws.Cells(x, c_SP_FZG_VERBRAUCH).Value
            If d_km_Stand_End <= d_km_Stand_Anf Then
              ws.Cells(x, c_SP_FZG_KMSTAND).Select
              MsgBox ( _
                Fehler: Kilometer-Anfang <= Kilometer-Ende & vbLf & vbLf & _
                in Zeile  & y &  km-Anfang =  & d_km_Stand_Anf & vbLf & _
                in Zeile  & y &  km-Ende   =  & d_km_Stand_End & vbLf & _
                --> Abbruch)
                Exit Sub
            End If
            If d_Verbrauch <= 0 Then
              ws.Cells(x, c_SP_FZG_VERBRAUCH).Select
              MsgBox ( _
                Fehler: Verbrauch in Zeile <= 0 & vbLf & _
                in Zeile  & x &  Verbrauch =  & d_Verbrauch & vbLf & _
                --> Abbruch)
                Exit Sub
            End If
            d_spez_Verbrauch = _
              d_Verbrauch * 100 / (d_km_Stand_End - d_km_Stand_Anf)
            ws.Cells(x, c_SP_SPEZIFISCHERVERBRAUCH).NumberFormat = 0.0 
            ws.Cells(x, c_SP_SPEZIFISCHERVERBRAUCH).Value = d_spez_Verbrauch
            Exit For
          End If
        Next y
      Next x
      Set ws = Nothing
    End Sub
     
  3. Jupp !

    Danke Matjes das ist´s was ich gesucht habe.... :D

    thx Chapac
     
Die Seite wird geladen...

Excel Verschachtelung - Ähnliche Themen

Forum Datum
Excel-verschachtelungen Windows XP Forum 18. Mai 2005
Excel-Feature gesucht Microsoft Office Suite 11. Okt. 2016
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016
Import Datensatz inkl = und - Zeichen in Excel/Libre CALC Software: Empfehlungen, Gesuche & Problemlösungen 20. Mai 2016