Ich möchte eine Lieferscheinzusammenstellung mit VBA
automatisieren. Die Mengen der verschiedenen Produkte
sollen am Ende summiert werden. Da die Anzahl der Produkte
immer unterschiedlich ist, kann ich keinen festen Bereich
für die Summenfunktion angeben. Ich habe schon viel
mit "FormulaR1C1" probiert, aber leider keine Lösung
gefunden.
Ich freue mich über Eure Hilfe
Danke Jan
>Hallo
>
>Ich möchte eine Lieferscheinzusammenstellung mit VBA
>automatisieren. Die Mengen der verschiedenen Produkte
>sollen am Ende summiert werden. Da die Anzahl der Produkte
>immer unterschiedlich ist, kann ich keinen festen Bereich
>für die Summenfunktion angeben. Ich habe schon viel
>mit "FormulaR1C1" probiert, aber leider keine Lösung
>gefunden.
Hallo Jan,
wenn der Anfang Deines variablen Bereiches immer gleich ist, z.B. A1
bzw. Zeile 1 und nur das Ende variiert, schreibe folgendes:
Dim lastrow as long
lastrow = ActiveSheet.Range("A1").End(xlDown).Row
gesetzt den Fall daß zwischen A1 und der letzten zu summierenden Zeile
keine Leerzeilen liegen, liefert Dir das die letzte belegte Zeile (als
Zahl) dieses zusammenhängenden Bereiches
Dim last_address as String
last_address = ActiveSheet.Range("A1").End(xlDown).Address(0,0)
liefert nachselbem Schema die Adresse der letzten belegten Zelle im
Format SpalteZeile - also z.B. A35 (als Text)
falls Leerzeilen im zu summierenden Bereich vorhanden sind, gehe das
Ganze von unten (der letzten möglichen Zelle eines Blattes) an:
ActiveSheet.Range("A65536").End(xlUp).Address(0,0)
liefert die Adresse der letzten gefüllten Zelle in Spalte A
HTH
Uwe
>Hallo
>
>Ich m=F6chte eine Lieferscheinzusammenstellung mit VBA=20
>automatisieren. Die Mengen der verschiedenen Produkte=20
>sollen am Ende summiert werden. Da die Anzahl der Produkte=20
>immer unterschiedlich ist, kann ich keinen festen Bereich=20
>f=FCr die Summenfunktion angeben. Ich habe schon viel=20
>mit "FormulaR1C1" probiert, aber leider keine L=F6sung=20
>gefunden.
>
>Ich freue mich =FCber Eure Hilfe
>
>Danke Jan
Hallo Jan,
ich schlage mich z. Z. mit demselben Problem herum.
Schau mal in den Thread Summenfunktion in VBA.
--
Als Newbie grüsst
Eberhard
Das hilft mir leider noch nicht so ganz weiter. Mein
Problem liegt in der Schreibweise für die Summenberechnung.
Ich habe geschrieben:
lastrow=ActiveSheet.Range("D9").End(xlDown).Row
Range("D11").formula="=SUM(D9:lastrow)"
Es wird daraufhin zwar eine Summenfunktion gestartet, aber
#Name? ausgegeben. Ich wäre für einen Vorschlag für die
Summenzeile sehr dankbar und hoffe, das ihr noch nicht im
Wochenende seid.
Gruss Jan
Activesheet.Range("D11").Formula="=SUM(D9:D" & lastrow & ")"
MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
eMail: Thei...@t-online.de, Homepage: http://www.xl-faq.de