AW: Zeilen einfügen (Datums abhängig)
23.10.2008 18:19:13
Becker
Hallo Namensvetter
DAAAANNNNNKKKKKEEEEEEEE DDDDIIIIIIRRRRRRRRR 100000000000000000000000 male !!!!!!!!
Dieses Forum ist einfach Spitze dank Dir und anderen netten User.
Danke schön für Deine nette Hilfe und Erklärungen. Diese Daten Blatt hängt nicht von mir ab sonder ist nur ein Teil der Berechnung den ich aus einen anderen System nach Excel expotieren kann. Mit diese Daten Blatt fängt mein Arbeit an, Dein super Makro "Leerzeilen_mit_Summe" ist ein Teil der Lösung der wieder in eine andere Daten Bank impotiert wir und dort dementsprechend verarbeitet wird.
Datentechnisch hast Du völlig Recht da nur leider so ein Export von anderen System möglich ist und der lässt sich leider nicht verändern.
Mit PivoTable habe ich leider wenig Ahnung. Probiert hatte ich schon aber ich kriege die Tages Summe nicht zusammen gezählt sondern unteinander gestellt. D.h. wierder einzelne Blocke kopieren und die mit Summen Formel addieren.
Zwar Dein Code ist MEGA SUPER, da traue ich mich gar nicht ran wenn ich was verändern würde.
Meine VBA Kentnisse sind in der Anfänger Pahse. Es wäre sehr nett von Dir wenn Du mir noch ganz wenig Nachhilfe gibst. Ich probiere es zum auskomentieren was ich in unteren Code vestanden habe.
Bitte korigiere mich was ich falsch vestanden habe.
Sub Leerzeilen_mit_Summe()
'Variable Deklaration
Dim Ende1 As Long, Ende2 As Long
Dim Spalte As Long
'letzte leere Spalte finden
Spalte = Cells(1, Columns.Count).End(xlToLeft).Column + 1
'von unten die Spalte D zählen
Ende1 = Cells(Rows.Count, 4).End(xlUp).Row
'in erste Zeile von erste Spalte wird rein "Summe/Tag" geschrieben
Cells(1, Spalte).Value = "Summe/Tag"
'? solle es hier nach Spalte "D" sortiert werden?
Cells(1, 4).Resize(Ende1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Cells(Ende1 + 1, 4), _
_
Unique:=True
Rows(Ende1 + 1).Delete
'? 2er Bedienung da wird in Spalte D noch einmal was gezählt?
Ende2 = Cells(Rows.Count, 4).End(xlUp).Row
'hier ist die magische Formel Summwenn
'was muß ich hier verändern wenn die Werte nicht mehr in Spalte F sondern in Spalte G stehen?
Range(Cells(Ende1 + 1, Spalte), Cells(Ende2, Spalte)).FormulaR1C1 = "=sumif(C4,RC4, C6)"
'? das hier verstehe ich überhaupt nicht?
Range(Cells(Ende1 + 1, 4), Cells(Ende2, 4)).Copy Destination:=Cells(Ende2 + 1, 4)
'hier hat es noch einmal mit sortieren zu tun nach Spalte D
Cells(1, 4).CurrentRegion.Sort Key1:=Cells(2, 4), order1:=xlAscending, header:=xlYes
End Sub
Wie lange muß man lernen um überhaupt so ein Code von der Hand schreiben zu können?
Danke nochmals.
Gruß Daniel