Spaltensumme in variabler Zelle bilden

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

foa
Beiträge: 2
Registriert: So, 08.09.2013 22:15

Spaltensumme in variabler Zelle bilden

Beitrag von foa »

Hallo zusammen,
ich bitte um Unterstützung bei folgender Aufgabe:
Mit der Hilfe eines Macros soll die Summe einer Spalte gebildet werden.
Mein Problem:
Erstellen einer Spaltensumme mit leeren Zellen und die Zelle mit der gebildeten Summe ist variabel.
Was mir bekannt ist -> =summe(E25:E11). Die hier angebene Zelle E25 ist aber nicht konstant sondern ist immer die erste leere Zelle (rechts) von einer mit Text beschriebenen Spalte.
Beispiel:
Der Inhalt von Spalte A ist bis in Zelle A15 mit Text gefüllt, in Spalte B sind Zahlen vorhanden mit Leerzellen dazwischen. Die letzte Zahl steht in Zelle B12 und Zelle B16 soll nun die Summe gebildet werden.
Um diese varibale Zelle zu bestimmen müßte ich mit Offset arbeiten und dabei stoße ich an meine Grenzen.
Es würde mich freuen, wenn mir jemand weiterhelfen würde.
Für die Mühe besten Dank foa


Moderation:
Thema nach OOo Basic und Java verschoben, wo alle Themen zur Basic-Programmierung hingehören.
lorbass, Mod
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Spaltensumme in variabler Zelle bilden

Beitrag von F3K Total »

Hi,
das geht zwar mit diesem Makro:

Code: Alles auswählen

Sub S_sum
    osheet = thiscomponent.sheets.getbyname("Tabelle1")
    ocursor = osheet.createcursor
    ocursor.gotoendofusedarea(false)
    nendrow = ocursor.rangeaddress.endrow
    orange = osheet.getcellrangebyposition(0,0,0,nendrow)
    for i = 0 to nendrow
       ocell = orange.getcellbyposition(0,i)
       if oCell.Type = com.sun.star.table.CellContentType.EMPTY then exit for
    next i
    osumcell = osheet.getcellbyposition(1,i)
    osumcell.formulalocal = "=Summe(B2:B"+(i)+")"
End Sub
... aber ist nach meiner Einschätzung nicht nötig.
Wenn Du einmal die Summe am unteren Rand gebildet hast, brauchst du nur die Summenzeile markieren, Rechte Maustaste->Zeilen einfügen, und die Summenformel wird nach unten verschoben.
Gruß R
foa
Beiträge: 2
Registriert: So, 08.09.2013 22:15

Re: Spaltensumme in variabler Zelle bilden

Beitrag von foa »

Hallo lorbass,
vielen Dank für Deine sehr schnellen Informationen.
Das Makro wird sicher seine Anwendung finden. "rangeaddress" war mir nicht bekannt, wie schon geschrieben drehte sich alles um "offset".
Erlaube mir noch eine Frage:
Gibt es, ähnlich wie bei VBA ActiveCell.OffSet auch in OO oder muss die Cursorposition immer über eine Schleife ermittelt werden?
Einen guten Tag wünscht
foa
Antworten