Ergebnis in leere Zellen kopieren

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

Moderator: Moderatoren

Prisma
Beiträge: 7
Registriert: Mi, 13.03.2013 09:02

Ergebnis in leere Zellen kopieren

Beitrag von Prisma »

Hallo,

ich stehe vor folgendem Problem:

Ich habe eine Tabelle erstellt (siehe Anhang). Durch anklicken einzelner Werte werden diese addiert.
Klappt soweit gut (geht sicher auch einfacher---für input wäre ich dankbar).


die Spalte H1 bis H12 soll die Ergebnisse der Zelle D4 enthalten.

Bisher tippe ich die Ergebnisse der Zelle D4 manuell in die Spalte H.

Zelle D6 enthält eine Addition aller in Spalte H eingetragenen Werte.


Per Makro ( edit->paste special-> shift down) die Ergebnisse der Zelle 4 in Spalte H eintragen.

Problem dabei: die "shift down" option. Dadurch verändert sich die Formel der Zelle D6.


Toll wäre es, wenn ich das Ergebnis der Zelle D6 automatisch in Spalte J eintragen könnte (ca 20 Ergebnisse aus Zelle D 6 sollen hier untereinander stehen) um diese in Zelle D8 als Gesamtergebnis zu bekommen.


Ich hoffe meine Ausführungen sind verständlich.

Danke!







Für jeden Input bin ich sehr dankbar. Bin relativ neu auf diesem Gebiet.


Thx,


Prisma
Dateianhänge
GOÄ Master.ots
GOÄ
(22.26 KiB) 31-mal heruntergeladen
Zuletzt geändert von Prisma am Mi, 13.03.2013 18:01, insgesamt 1-mal geändert.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Ergebnis in leere Zellen kopieren

Beitrag von lorbass »

Ich habe dein Thema verschoben nach OOo Basic und Java, wo alle Themen zur Basic-Programmierung hingehören. Und dass du für dein Vorhaben Makros brauchst, scheint dir ja klar zu sein.

Mir ist allerdings unklar klar, was genau du wissen möchtest. Eine Aussage wie »dann wird mir die Sache zu kompliziert« ist schlecht greifbar.

Nimm dir bitte ein, zwei Minuten Zeit und lies die Allgemeinen Hinweise zur Forumsbenutzung, die du in jeder Kategorie ganz oben in den Bekanntmachungen findest.

Gruß
lorbass
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Ergebnis in leere Zellen kopieren

Beitrag von F3K Total »

Hallo Prisma,
ich habe da mal was gestrickt.
Funktioniert einwandfrei.
Diese Makros sind an die Schaltflächen gebunden:

Code: Alles auswählen

Sub S_Insert_D4
    osheet = thiscomponent.sheets.getbyname("Eingabe")
    ocell = osheet.getcellrangebyname("D4")
    nValue = ocell.value
    orange = osheet.getcellrangebyname("H1:H12")
    for i = 0 to orange.rows.count - 1
        ocell = orange.getcellbyposition(0,i)
        if ocell.formula = "" then 
            ocell.value = nValue
            exit for
        endif
        if i = orange.rows.count - 1 and ocell.formula > "" then
            msgbox "letzte Zeile erreicht"
        endif
    next i
    oform = osheet.drawpage.forms.Form
    for i = 0 to oForm.count -1
        ochkbox = oform(i)
        if ochkbox.supportsservice("com.sun.star.awt.UnoControlCheckBoxModel") then ochkbox.state = 0
    next i
end sub

Sub S_Insert_D6
    osheet = thiscomponent.sheets.getbyname("Eingabe")
    ocell = osheet.getcellrangebyname("D6")
    nValue = ocell.value
    orange = osheet.getcellrangebyname("J1:J12")
    for i = 0 to orange.rows.count - 1
        ocell = orange.getcellbyposition(0,i)
        if ocell.formula = "" then 
            ocell.value = nValue
            exit for
        endif
        if i = orange.rows.count - 1 and ocell.formula > "" then
            msgbox "letzte Zeile erreicht"
        endif
    next i
    orange = osheet.getcellrangebyname("H1:H12")
    orange.clearcontents(1)
end sub


Sub S_reset_D8
    osheet = thiscomponent.sheets.getbyname("Eingabe")
    orange = osheet.getcellrangebyname("J1:J12")
    orange.clearcontents(1)
end sub
Viel Spaß damit
Gruß R
Dateianhänge
GOÄ Master.ods
(21.2 KiB) 52-mal heruntergeladen
Prisma
Beiträge: 7
Registriert: Mi, 13.03.2013 09:02

Re: Ergebnis in leere Zellen kopieren

Beitrag von Prisma »

Wow! Genial! Bin von den Socken!

Also, den Code muss ich mir mal genauer anschauen: DAS will ich auch können!


:D


Danke!
Antworten