Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1628to1632
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
Datum und Summe anzeigen
22.06.2018 07:25:19
engin
Hallo Leute,
ich habe eine Tabelle vorbereitet und da müsste etwas geändert werden.
Ich wollte das Datum in der "Ausgabe" Datei in Spalte "A" für alle Kunden angezeigt haben. Sprich neue Spalte und dann das Datum. Momenten wird mir das Datum für jeden Kunden einzeln angezeigt.
Dann möchte ich in einer neuen Datei "Tabelle1" die Monate auflisten (Jan bis Dez) und dort soll Excel dann die Summe jeden Monats anzeigen.
Beispiel:
Kunde 101 hat am 30.06.18 10€ bekommen und am 01.07.18 20€
Dann sollte in der neuen Datei "tabelle1"
Kunde 101
Juni = 10€
Juli = 20€ stehen.
https://www.herber.de/bbs/user/122207.xls
Liebe Grüße

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 09:57:55
UweD
Hallo
so?
Modul3
Option Explicit 
 
 
 
Sub Auflisten2() 
    Dim Eingabe, Neu, LR As Double, Pfad As String, DatNam As String 
     
    Application.ScreenUpdating = False 'Bildschirmflackern ausschalten 
     
    Set Eingabe = Sheets("Eingabe") 
    Set Neu = Sheets.Add(After:=Sheets(Sheets.Count)) 
     
    Pfad = "X:\Temp\" 'Oder 
    'Pfad = ThisWorkbook.Path & "\" 
     
     
    LR = Eingabe.Cells(Eingabe.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte 
     
    With Neu 
        'Spalten in neue Tabelle kopieren 
        Eingabe.Columns(1).Resize(, 3).Copy .Columns(1) 
         
        'Formeln setzen und in Werte umwandeln 
        .Cells(1, 5) = "Monat" 
        .Cells(1, 6) = "Summe" 
        .Cells(2, 5).Resize(LR - 1, 1).FormulaR1C1 = "=DATE(YEAR(RC[-2]),MONTH(RC[-2]),1)" ' auf Monat/Jahr reduzieren 
        .Cells(2, 6).Resize(LR - 1, 1).FormulaR1C1 = "=SUMIFS(C[-4],C[-5],RC[-5],C[-1],RC[-1])" 
        .UsedRange.Value = .UsedRange.Value 
         
        'Duplikate löschen 
        .Columns(1).Resize(, 6).RemoveDuplicates Columns:=Array(1, 5), Header:=xlYes 
         
        'überflüssige Spalten löschen und formatieren 
        .Columns(2).Resize(, 3).Delete xlLeft 
        .Columns(2).NumberFormat = "mmm yyyy" 
         
         
        'Sortieren 
        With .Sort 
            .SortFields.Add Key:=Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending 
            .SortFields.Add Key:=Columns(2), SortOn:=xlSortOnValues, Order:=xlAscending 
            .SetRange Columns(1).Resize(, 3) 
            .Header = xlYes 
            .MatchCase = False 
            .Orientation = xlTopToBottom 
            .SortMethod = xlPinYin 
            .Apply 
        End With 
         
        'verschieben in Neue Datei 
        .Move 
    End With 
     
    'speichern und schließen 
    DatNam = Pfad & Format(Date, "YYYYMMDD") 
    ActiveWorkbook.SaveAs Filename:=DatNam, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
    ActiveWindow.Close 
     
    MsgBox "Fertig!     Datei '" & DatNam & "' erstellt" 
 
End Sub 
LG UweD
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 10:12:17
engin
Hi Uwe,
danke für die schnelle Antwort.
ich krieg irgendwie einen Laufzeitfehler angezeigt..
AW: Datum und Summe anzeigen
22.06.2018 10:13:31
UweD
Hallo
in welcher Zeile?
mit F8 im Einzelschritt mal Durchtasten
LG UweD
AW: Datum und Summe anzeigen
22.06.2018 10:21:28
engin
With Neu
'Spalten in neue Tabelle kopieren
Eingabe.Columns(1).Resize(, 3).Copy .Columns(1)
'Formeln setzen und in Werte umwandeln
.Cells(1, 5) = "Monat"
.Cells(1, 6) = "Summe"
.Cells(2, 5).Resize(LR - 1, 1).FormulaR1C1 = "=DATE(YEAR(RC[-2]),MONTH(RC[-2]),1)" ' auf Monat/Jahr reduzieren
.Cells(2, 6).Resize(LR - 1, 1).FormulaR1C1 = "=SUMIFS(C[-4],C[-5],RC[-5],C[-1],RC[-1])"
.UsedRange.Value = .UsedRange.Value
das was ich fett markiert habe.
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 10:33:48
UweD
Hallo
Dann hast du im Eingabeblatt nur die Überschrift und sonst kein Daten stehen.
hier mit Warnung.
Option Explicit
 
Sub Auflisten2()
    Dim Eingabe, Neu, LR As Double, Pfad As String, DatNam As String
     
    Application.ScreenUpdating = False 'Bildschirmflackern ausschalten 
     
    Set Eingabe = Sheets("Eingabe")
    Set Neu = Sheets.Add(After:=Sheets(Sheets.Count))
     
    Pfad = "X:\Temp\" 'Oder 
    'Pfad = ThisWorkbook.Path & "\" 
     
     
    LR = Eingabe.Cells(Eingabe.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte 
    
    If LR = 1 Then MsgBox "Keine Daten vorhanden": Exit Sub
    
    With Neu
        'Spalten in neue Tabelle kopieren 
        Eingabe.Columns(1).Resize(, 3).Copy .Columns(1)
         
        'Formeln setzen und in Werte umwandeln 
        .Cells(1, 5) = "Monat"
        .Cells(1, 6) = "Summe"
        .Cells(2, 5).Resize(LR - 1, 1).FormulaR1C1 = "=DATE(YEAR(RC[-2]),MONTH(RC[-2]),1)" ' auf Monat/Jahr reduzieren 
        .Cells(2, 6).Resize(LR - 1, 1).FormulaR1C1 = "=SUMIFS(C[-4],C[-5],RC[-5],C[-1],RC[-1])"
        .UsedRange.Value = .UsedRange.Value
         
        'Duplikate löschen 
        .Columns(1).Resize(, 6).RemoveDuplicates Columns:=Array(1, 5), Header:=xlYes
         
        'überflüssige Spalten löschen und formatieren 
        .Columns(2).Resize(, 3).Delete xlLeft
        .Columns(2).NumberFormat = "mmm yyyy"
         
         
        'Sortieren 
        With .Sort
            .SortFields.Add Key:=Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending
            .SortFields.Add Key:=Columns(2), SortOn:=xlSortOnValues, Order:=xlAscending
            .SetRange Columns(1).Resize(, 3)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
         
        'verschieben in Neue Datei 
        .Move
    End With
     
    'speichern und schließen 
    DatNam = Pfad & Format(Date, "YYYYMMDD")
    ActiveWorkbook.SaveAs Filename:=DatNam, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
     
    MsgBox "Fertig!     Datei '" & DatNam & "' erstellt"
 
End Sub

Noch was.
hier noch ein cdate drum.
      If Cells(Target.Row, 3) = "" Then Cells(Target.Row, 3) = CDate(Format(Date, "DD.MM.YYYY")) _
LG UweD
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 10:58:12
engin
Hi Uwe,
ich check es nicht... bin zu dumm für vba.
So wie ich gesehen habe öffnet sich jedes mal ein neues Tabellenblatt richtig?
Sorry, du hast mich falsch verstanden, er soll nur die Summen in einem Tabellenblatt bilden.
In der Datei "Ausgabe" möchte ich in Spalte "A" das Datum haben statt in C, E, G usw
Das soll Excel schauen wer wann bekommen hat und anschließend in der Datei "SUMME" die Summe bilden für den entsprechenden Monat...
Schau dir bitte den Link an dann verstehst du mich besser.
https://www.herber.de/bbs/user/122245.xlsm
sorry für den Aufwand
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 11:52:49
UweD
so?
1) Ich denke, wenn du Datei schreibst, meinst du ein Tabellenblatt
2) du möchtest also die Daten von Blatt "Ausgabe" in Blatt "Summe" verarbeiten?
dann so, ohne VBA mit Formeln

Summe
 ABCDEFGHIJ
1Kunde101102103105125130135  
2Januar 20180000000  
3Februar 20180000000  
4März 20180000000  
5April 20180000000  
6Mai 20180000000  
7Juni 20181,25,214,562,51,952,221,2  
8Juli 20180000000  
9August 20180000000  
10September 20180000000  
11Oktober 20180000000  
12November 20180000000  
13Dezember 20180000000  
14          
15Eingabe als Datum         
16Format "MMMM JJJJ"         

verwendete Formeln
Zelle Formel Bereich N/A
B1:J1=WENNFEHLER(KKLEINSTE(Ausgabe!1:1;SPALTE(A1));"")  
A3:A13=EDATUM(A2;1)  
B2:J13=WENN(B1<>"";SUMMENPRODUKT((Ausgabe!$B$1:$Z$1=B$1)*(--(Ausgabe!$C$1:$AA$100)>=$A2)*(--(Ausgabe!$C$1:$AA$100)<=MONATSENDE($A2;0))*(Ausgabe!$B$1:$Z$100));"")  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit


Das -- brauche ich nur, weil du in Ausgabe kein Datum, sondert Text hast, der wie Datum aussieht
LG UweD
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 12:30:15
engin
Hallo Uwe,
mir ist die "Eingabe" wichtig, weil ich nur etwas eingeben möchte und er mir dann am ende des Monats/Jahres sagt wie viel insgesamt eingegeben wurde. Daher möchte ich es schon mit VBA haben. Genau wie meine Tabelle nur ich kriegs nicht hin, dass mir das aktuelle Datum in der "Ausgabe" 1 mal in Spalte A angezeigt wird...
AW: Datum und Summe anzeigen
22.06.2018 13:53:58
UweD
Mein letzter Versuch.
Sub Auflisten2()
    Dim Eingabe, Ausgabe, LRE As Double, LRA As Double
     
    Application.ScreenUpdating = False 'Bildschirmflackern ausschalten 
     
    Set Eingabe = Sheets("Eingabe")
    Set Ausgabe = Sheets("Ausgabe")
    
    LRE = Eingabe.Cells(Eingabe.Rows.Count, 1).End(xlUp).Row
    If LRE = 1 Then MsgBox "Keine Daten vorhanden!": Exit Sub
         
    With Ausgabe
        'Reset 
        Ausgabe.UsedRange.ClearContents
        
        'Spalten kopieren 
        Eingabe.Columns(1).Copy .Columns(1)
          
        'Duplikate löschen 
        .Columns(1).RemoveDuplicates Columns:=Array(1), Header:=xlYes
    
        'Sortieren 
        With .Sort
            .SortFields.Add Key:=Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending
            .SetRange Columns(1)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        
        'Transponieren 
        LRA = .Cells(.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte 
         .Cells(1, 2).Resize(1, LRA) = Application.Transpose(Cells(1, 1).Resize(LRA, 1))
        
        'überflüssige Spalte löschen 
        .Columns(1).Delete xlLeft
        
        'Datum in erste Spalte setzen und formatieren 
        .Cells(2, 1) = DateSerial(Year(Date), 1, 1)
        .Cells(3, 1).Resize(11, 1).FormulaR1C1 = "=EDATE(R[-1]C,1)"
        .Columns(1).NumberFormat = "MMMM YYYY"
         
         
        
        'Summenformel setzen 
        .Cells(2, 2).Resize(12, LRA - 1).FormulaR1C1 = _
            "=SUMPRODUCT((Eingabe!R2C1:R" & LRE & "C1=R1C)*(--(Eingabe!R2C3:R" & LRE & "C3)>=RC1)*" & _
            "(--(Eingabe!R2C3:R" & LRE & "C3)<=EOMONTH(RC1,0))*(Eingabe!R2C2:R" & LRE & "C2))"
        
        'alle Formeln in Werte umwandeln 
        .UsedRange.Value = .UsedRange.Value
        
    End With
    
    MsgBox "Fertig!"
 
End Sub

LG UweD
Anzeige
AW: Datum und Summe anzeigen
22.06.2018 14:14:43
engin
1000 mal Danke. Du bist echt ein geduldiger Mensch :) Hast dir echt viel Zeit genommen.
Ich muss jetzt leider los. Ich schaue es mir am Montag an. Danke dir nochmals!
Schönes Wochenende! :)
kleine Korrektur :-) ein Punkt vor Cells
22.06.2018 17:04:51
robert
Application.Transpose(.Cells(1, 1)
Gruß
robert
AW: Datum und Summe anzeigen
25.06.2018 07:50:17
engin
Hi Uwe,
das sieht alles super cool aus allerdings habe ich noch 2 kleine Fragen.
1. In der "Ausgabe" wird ja die Summe gebildet, bis hier hin ist alles richtig. Allerdings bräuchte ich ein weiteres Arbeitsblatt, ich sehen kann welcher Kunde am welchen Tag wie viel bekommen hat. Ist das irgendwie möglich? Es soll genau so aufgelistet werden wie in dem ersten Link von mir nur das Datum sollte in Spalte A für jeden einheitlich sein.
2. Beim Bedienen der "Eingabe" sollen die Werte gelöscht werden und nicht weiterhin drin stehen.
Sorry :D
Aber sonst find ich das Ding hammer!
Anzeige
AW: Datum und Summe anzeigen
25.06.2018 08:10:40
engin
und sowie es aussieht summiert er das irgendwie nicht mehr bei mir.. + wenn ein weiterer Kunde dazu kommt überschreibt er den alten :/
https://www.herber.de/bbs/user/122286.xlsm
komplette Musterdatei
26.06.2018 09:01:15
UweD
Hallo
erstell doch mal eine KOMPLETTE Musterdatei mit mehreren Datensätzen.
Dazu dann mal die verschiedenen Soll Szenarien
wenn ein weiterer Kunde dazu kommt überschreibt er den alten :/
Soll es so sein, dass wenn neue Daten in "Eingabe" eingetragen sind, diese in "Ausgabe" dazugeschrieben werden sollenß Bisher wird Ausgabe immer erst gelöscht
LG UweD
Anzeige

290 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige