Schaltfläche um Werte zu erhöhen +1

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

FallenAngel
Beiträge: 2
Registriert: Mo, 22.05.2017 20:26

Schaltfläche um Werte zu erhöhen +1

Beitrag von FallenAngel »

Hallo miteinander,

ich möchte für eine Kundenzählung in einer Tablle mit Schaltflächen arbeiten. Wie ich die Schaltfläche Programmiere damit Sie mir eine bestimmte Zelle den Wert erhöht bekomme ich ja noch hin. Problem ist folgendes, der Wert in der Tabelle am richtigen Datum zur richtigen Uhrzeit eingetragen werden. Kann mir hier jemand helfen?
Dateianhänge
Kundenzählung.ods
(11.14 KiB) 107-mal heruntergeladen
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Schaltfläche um Werte zu erhöhen +1

Beitrag von komma4 »

FallenAngel hat geschrieben: Mo, 22.05.2017 20:57in der Tabelle am richtigen Datum zur richtigen Uhrzeit eingetragen werden.

Willkommen im Forum!

Du möchtest wissen, wie man die gewählte Zelle bekommt?

Code: Alles auswählen

sel = ThisComponent.getCurrentSelection()
Damit hast Du die ausgewählte Zelle.
Wenn Du die Schaltfläche operabel machen willst, ohne eine Zelle gewählt zu haben, musst Du Datum und Uhrzeit ebenfalls mitgeben (also: ein Formular entsprechend programmieren).
Dann wird daa Auffinden der "richtigen" Zelle allerdings nicht trivial.

Hilft Dir das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Schaltfläche um Werte zu erhöhen +1

Beitrag von F3K Total »

Hallo FallenAngel,
du hast Glück, ich wollte wissen ob ich es hinbekomme. Habe deine Datei um die "schmalen" Spalten reduziert und dann dieses Makro geschrieben:

Code: Alles auswählen

Sub S_countUp(event)
    dim lTime as double
    lTime = timevalue(time())
    if lTime < 1/4 then
        msgbox "Es ist vor 6 Uhr, keine Zählung möglich"
        exit sub
    endif
    if left(event.source.model.label,1) = "M" then
        ncolumn = int(lTime * 12) + 1
    else
        ncolumn = int(lTime * 12) + 2
    endif
    oSheet = ThisComponent.Sheets.getbyname("Kundenzählung")
    aDates = oSheet.getcellrangebyposition(0,2,0,32).data
    for i = 0 to ubound(aDates)
        if aDates(i)(0) = Date() then
            nRow = i+2
        endif
    next i
    oCell = oSheet.getcellbyposition(nColumn,nRow)
    oCell.Value = oCell.value + 1
End Sub
Scheint zu funktionieren.
Gruß R
Dateianhänge
Kundenzählung.ods
(13.19 KiB) 119-mal heruntergeladen
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Schaltfläche um Werte zu erhöhen +1

Beitrag von F3K Total »

Hallo,
es war leider ein Fehler im Makro, es wurde die falsche Zeit-Spalte berechnet, dies sollte funzen:

Code: Alles auswählen

Sub S_countUp(event)
    dim lTime as double
    lTime = timevalue(time())
    if lTime < 1/4 then
        msgbox "Es ist vor 6 Uhr, keine Zählung möglich"
        exit sub
    endif
    if left(event.source.model.label,1) = "M" then
        ncolumn = (int(lTime * 12)*2) - 5
    else
        ncolumn = (int(lTime * 12)*2) - 4
    endif
    oSheet = ThisComponent.Sheets.getbyname("Kundenzählung")
    aDates = oSheet.getcellrangebyposition(0,2,0,32).data
    for i = 0 to ubound(aDates)
        if aDates(i)(0) = Date() then
            nRow = i+2
        endif
    next i
    oCell = oSheet.getcellbyposition(nColumn,nRow)
    oCell.Value = oCell.value + 1
End Sub
Gruß R
Dateianhänge
Kundenzählung.ods
(11.73 KiB) 82-mal heruntergeladen
FallenAngel
Beiträge: 2
Registriert: Mo, 22.05.2017 20:26

Re: Schaltfläche um Werte zu erhöhen +1

Beitrag von FallenAngel »

Danke R, genau so wie ich es meinte !

Vielen Dank :)
Antworten