Excel Macro

Meng

Ensign
Registriert
Juli 2006
Beiträge
224
Hi

Ich bringe mein Macro nicht zu stande das dies automatisch klappt, er bringt immer den Wert "0", obwohl dies nicht korrekt ist.

Das Makro sollte bei Reihe F die letzte Zeile finden und bis zur Zeile F8 oben markieren und die Summe bilden.

Kann mir hier jemand behilflich sein?

Grüsse
 
Google best friend:

Code:
Sub test()
ActiveSheet.Range("F65536").End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaLocal = "=SUMME(F1:F" & ActiveCell.Row - 1 & ")"
End Sub

Für etwaigen Excel-Support bitte die richtigen Begriffe nutzen:
Zahlen : stellen die Zeilen dar (z.B. Zeile 1)
Buchstaben : Stellen die Spalten dar (z.B. Spalte F)
Buchstabe + Zahl : sind Zellen (z.B. F8)
 
Moin,

@ Meng: Solche Markierungen sind meist "überflüssig wie ein Kropf" und kosten nur Rechnerzeit. Die Summe bekommst du hervorragend auch ohne markieren, wie du ja auch siehst.

@ ryan_blackdrago: Damit sich Leser, die sich nicht so ganz auskennen, nicht allzu sehr wundern: Range("F65536") bezieht sich (natürlich) auf Excel-Versionen bis 2003, ab Excel 2007 können es ja einige Zeilen mehr sein.
 
@cpt. Nemo: Das weiss ich, aber es ist so das die Summe gleich unterhalb der letzten gefundenen Zeile sein muss. Da jeden Tag die Zeilen nicht gleich viel ist sollte dies irgendwie doch möglich sein mit einer Makro, oder? Sagen wir so: in Reihe F fängt die Summenaddierung bei F8 an und geht bis F14. Mein Makro sollte so funktionieren. Finde die letzte Zelle in F. Markiere von dort nach oben bis Zeile F8 und bilde eine Summe.

@ryan_blackdrago: Den Command kenn ich, hab mich vllt falsch ausgedrückt was ich suche.
 
Moin Meng,

nein, du weißt nicht, was ich meine. Also ganz deutlich und klar: Das markieren an sich ist total überflüssig, sprich "sinnfrei". In VBA bildest du deine Summe OHNE Markierung, wobei es selbstredend richtig ist, die letzte genutzte Zeile festzustellen. Schließlich kannst du in Excel auch per Hand die Formel =SUMME(A7:A555) eingeben, ohne Markierung und Summen-Button. Und dass es ohne Markierung des zu summierenden Bereichs funktioniert, hat ryan_blackdrago ja auch im Code gezeigt.
 
Bilder sagen manchmal mehr aus... Das o.g. Makro sucht nach der letzten Zelle in der Spalte F. Die Summe wird dann in der nächsten Zelle gebildet.
Haben es mal etwas angepasst. So würde es von F8 bis zum letzten Eintrag in der Spalte F (hier: F14) die Summe in F15 automatisch bilden.

Code:
Sub test()
ActiveSheet.Range("F65536").End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaLocal = "=SUMME([B]F8[/B]:F" & ActiveCell.Row - 1 & ")"
End Sub
 

Anhänge

  • makro_test.gif
    makro_test.gif
    22,3 KB · Aufrufe: 110
Zuletzt bearbeitet:
Vielen Dank euch zwei es hat nun super geklappt und es ist genau das was ich wollte. Musste nur kurz noch Anpassungen machen.
 
Zurück
Oben