Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rechnen mit Daten

Rechnen mit Daten
Tom
Hallo Ihr da draußen,
versuche gerade ein Makro zu schreiben, welches folgendes tun soll:
Ich habe eine Liste mit Leasingfahrzeugen. Da gibt es u.a. ein Leasingbeginndatum und ein -enddatum.
Ich möchte nun wissen welche Leasingzahlung in jedem Jahr auf mich zukommt. Ich brauche also die Anzahl der Monate pro Jahr innerhalb des Leasingzeitraumes, weil ich unterschiedliche Leasingraten addieren muß. (z.B. weicht die letzte Rate von den laufenden ab, dito die ertse Rate)
Komme einfach nicht weiter, vielleicht hat ja jemand eine Idee!!!
TOM

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Hallo Du da drinnen,....
31.03.2010 12:28:41
NoNet
...sende uns doch bitte mal ein kleines Beispiel, anhand dessen wir das nachvollziehen können, denn ich vermute, wenn jemand schreibt "Prüfe anhand einer Schleife, welche Datensätze innerhalb des Leasingzeitraums liegen und addiere die zugehörigen Leasingraten", wirst Du genauso wenig verstehen wie "wir da draußen" bei Deiner Beschreibung ;-)
Ergo : Bitte DEMO-Datei hochladen (Hier gehts zum File-Upload), URL posten und Problem nochmal ausführlich erklären !
Gruß, NoNet
Anzeige
AW: Hallo Du da drinnen,....
31.03.2010 13:35:09
Hajo_Zi
Hallo MoNet,
Du hast doch eine Lösung vorgeschlagen, lasse doch den Fragesteller die Frage als offen kennzeichnen.
Man kann in diesem Forum offnen Beiträge nur rausnehmen durch einen neuen Beitrag, früher ging das einfacher.

Nööö, das ist nicht mein Antwortstil,
31.03.2010 13:50:33
NoNet
Hallo Hajo,
das war ja keine "richtige" fachliche Antwort - jedenfalls nicht eine wie ich sie erwarten und auch selbst geben würde.
Der Thread bleibt "offen", da ich um eine DEMO-Datei gebeten hatte und nun auf die Raktion des Thread-Starters warte !
Grüße, (Claude) M(N)oNet
Anzeige
Jetzt ist offen und Datei da ! ;-)) (owT)
31.03.2010 13:53:57
Renee

  • AW: Nööö, das ist nicht mein Antwortstil,
    31.03.2010 13:58:15
    Hajo_Zi
    Hallo Nonet,
    entschuldigung für den Schreifehler.
    Aber wie Du richtig schreibst.
    und nun auf die Raktion des Thread-Starters warte
    

    also bist Du auch der Auffasung die anderen können damit auch nichts anfangen.
    Gruß Hajo
    AW: Hallo Du da drinnen,....
    31.03.2010 13:35:56
    Tom
    hier die Beispiel Datei: https://www.herber.de/bbs/user/68898.xls
    ich hoffe, ich drücke mich jetzt besser aus:
    Ziel ist eine Tabelle die mir je Fahrzeugtyp die in jedem Jahr zu zahlenden Leasingbeträge auswirft. Dabei sollen zusammengefaßt werden:
    1. gleiche Fahrzeugtypen mit gleichem Leasingbeginn und gleichem Leasingende
    Gibt es also ein Fahrzeug gleichen Typs mit anderem Leasingbeginn und/oder -ende soll das in einer extra Zeite ausgewertet werden.
    Ergebnistabelle:
    Fahrzeugtyp | Leas.beginn | Leas.ende | Anzahl | Raten 2010 | Raten 2011 | Raten 2012 | Raten 2013
    die Spalten Raten 2010 usw. enthalten die Beträge in €
    Vielen Dank!
    Anzeige
    mal ein Anfang....
    31.03.2010 14:15:26
    Erich
    Hallo Tom,
    sonst mag ich so "halbe Sachen" nicht, aber da ich keine Zeit mehr dafür habe,
    hier der Anfang eines Lösungsvorschlags, bei dem die Jahressummen über die Raten noch fehlen:
    https://www.herber.de/bbs/user/68901.xls
    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
    AW: mal ein Anfang....
    31.03.2010 14:25:11
    Tom
    hey, vielen Dank,
    leider sind nicht alle Autos in Tabelle enthalten. Ich wollte das auch gern mit einem Macro lösen, um flexibler zu sein. Denn es kommen immer mal neue Fahrzeuge dazu. Außerdem soll in Enduser dies dann nutzen, dem ich das Formelkopieren nicht zutraue. Also wollte ich ein Macro schreiben und dieses mit einer >>START
    Anzeige
    AW: mal ein Anfang....
    31.03.2010 18:31:36
    fcs
    Hallo Tom,
    hier deine Datei mit einem Auswerte-Makro (JahresRaten)
    Die Rohdaten werden aufbereitet und in ein 2. Blatt geschrieben.
    Die Daten des 2. Blattes dienen dann als Basis für eine Auswertung per Pivot-Tabellenbericht.
    https://www.herber.de/bbs/user/68905.xls
    Gruß
    Franz
    und noch mal mit VBA
    01.04.2010 11:28:56
    Erich
    Hi Tom,
    "Ich wollte das auch gern mit einem Macro lösen, um flexibler zu sein."
    hättest du besser schon bei deiner ersten Anfrage geschrieben. So etwas kann man nicht so einfach raten...
    Hier eine weitere Lösung mit VBA:
    
    Option Explicit
    Public Sub test_Dictionary()
    Dim intJab As Integer, myDic, arrV, intJbis As Integer, aStrK() As String
    Dim zz As Long, arrK, dblJS() As Double, lngZ As Long, jj As Integer, datM As Date
    intJab = 2008                                   ' 1. Ergebnis-Jahr vorgeben
    Set myDic = CreateObject("Scripting.Dictionary")
    '  --------------------------------------------------------------------- Einlesen
    With Sheets("Rohdaten")
    arrV = .Range("D2:J" & .Cells(.Rows.Count, 10).End(xlUp).Row)
    intJbis = Year(Application.Max(.Columns(10)))   ' letztes Jahr
    End With
    ReDim aStrK(1 To UBound(arrV)) As String
    '  --------------------------------------------------------------------- Zählen
    For zz = 1 To UBound(arrV)
    aStrK(zz) = Format(arrV(zz, 2), "dd.mm.yyyy") & _
    Format(arrV(zz, 7), "dd.mm.yyyy") & arrV(zz, 1)    ' Key
    If myDic.Exists(aStrK(zz)) Then
    myDic(aStrK(zz)) = myDic(aStrK(zz)) + 1   ' hochzählen
    Else
    myDic.Add aStrK(zz), 1                    ' neu anlegen
    End If
    Next
    '  --------------------------------------------------------------------- Addieren
    arrK = myDic.Keys
    ReDim dblJS(1 To myDic.Count, intJab To intJbis)
    For lngZ = 1 To UBound(arrV)
    zz = Application.Match(aStrK(lngZ), arrK, 0)
    jj = Year(arrV(lngZ, 2))
    If jj >= intJab Then _
    dblJS(zz, jj) = dblJS(zz, jj) + arrV(lngZ, 3)            ' 1. Rate
    datM = DateSerial(jj, Month(arrV(lngZ, 2)) + 1, 1)
    While datM = intJab Then _
    dblJS(zz, jj) = dblJS(zz, jj) + arrV(lngZ, 4)         ' lfd. Rate
    datM = DateSerial(Year(datM), Month(datM) + 1, 1)
    Wend
    jj = Year(arrV(lngZ, 7))
    If jj >= intJab Then _
    dblJS(zz, jj) = dblJS(zz, jj) + arrV(lngZ, 6)            ' letzte Rate
    Next lngZ
    '  --------------------------------------------------------------------- Ausgeben
    ReDim arrV(1 To myDic.Count, 1 To 4)
    For zz = 1 To myDic.Count
    arrV(zz, 1) = Mid(arrK(zz - 1), 21)
    arrV(zz, 2) = CDate(Left(arrK(zz - 1), 10))
    arrV(zz, 3) = CDate(Right(Left(arrK(zz - 1), 20), 10))
    arrV(zz, 4) = myDic(arrK(zz - 1))
    Next zz
    With Sheets("Ergebnis").Cells(3, 2) ' hier Ausgabe ab B3, das Blatt muss es geben
    .Resize(, 4) = Split("Fahrzeug-" & vbLf & "typ Leasing-" & vbLf & _
    "beginn Leasing-" & vbLf & "ende Anzahl")
    For jj = 0 To intJbis - intJab            ' Jahre für Spaltenkopf
    .Offset(, 4 + jj) = "Raten " & intJab + jj
    Next jj
    .Offset(1).Resize(myDic.Count, 4) = arrV
    .Offset(1, 4).Resize(myDic.Count, intJbis - intJab + 1) = dblJS
    .EntireRow.HorizontalAlignment = xlHAlignCenter
    .EntireRow.VerticalAlignment = xlVAlignCenter
    .Resize(, 5 + intJbis - intJab).EntireColumn.AutoFit
    End With
    End Sub
    
    Und hier die Bei-Spiel-Mappe: https://www.herber.de/bbs/user/68912.xls
    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige