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 Zitieren
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: Zitieren
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 Zitieren
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... Zitieren
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 Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.