fatmike Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Hallo, ich muss in verschiedenen Dateien (gleiches Layout/Format - verschieden Viele Einträge) über einen Makro eine Summe bilden. Immer unter dem Ende der Datensätze. Kann mir jemand sagen, wie ich es hinbekomme die Summenformel so anzupassen, dass er mir immer unter die letzte Zeile(variiert) das Ergebnis schreibt. Den letzten gefüllten Datensatz hol ich mir folgender maßen: lastrow = Application.Range("b3").End(xlDown).Row Hat da jemand ne Idee? Grüße Fatmike
Kaeyu Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Mag dumm klingen, aber hab mal schnell drübergelesen. Vielleicht geht's ja z.b. so: ergebniszeile = Application.Range("b3").End(xlDown).Row + 1 :confused:
Jagi Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 (bearbeitet) Ich für meinen Teil brauche mehr Informationen um eine Lösung zu finden Aus welchen Werten musst du eine Summe bilden? Stehen diese Werte in einer Excel Tabelle oder aus welchen Dateien bekommst du die Werte? Wie sind die Dateien aufgebaut? Bearbeitet 23. Juli 2008 von Jagi
fatmike Geschrieben 23. Juli 2008 Autor Geschrieben 23. Juli 2008 Die Letzte Zeile, und die wo der Wert rein soll krieg ich... genau so wie du es beschrieben hast. Mein Problem ist , diese Zahl in meine Summenformel reinzubasteln.... momentaner Stanf (nicht funktionabel) Cells(lastrow + 1, 10) = "=Sum(Cells(" + lastrow + ", 10), Cells(3, 10))" in lastrow steht die letzte Zeile. Die Summenformel soll also immer bis zur letzten Zeile gehen, egal wieviel Zeilen es gibt.... Die Werte sind ganz normale Zahlen, die in einem Excel File stehen. Der Excel-File bleibt von der Formatierung her gleich, nur die Anzahl der Datensätze variiert. Daher brauche ich einen variable Summenformel...
Jagi Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Ich werd mal n bissl rumprobieren. Meine Idee wäre die Adresse der letzten Zeile zu speichern und diese dann in die Formel einbauen. Dim adresse Dim lastrow lastrow = Application.Range("B3").End(xlDown).Offset(0, 0).Address 'Adresse für letzte Reihe adresse = Application.Range("B3").End(xlDown).Offset(1, 0).Address 'Adresse für Zelle der Summe Application.Range(adresse).Value = "=Summe(B3:" + lastrow + ")" Nur leider hat er Probleme mit den Dollarzeichen, die er vor Zeile und Spalte in der Adresse schreibt
Jagi Geschrieben 24. Juli 2008 Geschrieben 24. Juli 2008 Hab dir mal ne Datei im Anhang geschickt mit einem Beispiel. Vllt hilft es dir weiter. (erstellt mit Excel 2003)Summieren.zip
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden