[gelöst] durch doppelklick "X" setzen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 22:58

nachricht gelöscht
Zuletzt geändert von Ulti am Mi, 26.02.2014 23:21, insgesamt 1-mal geändert.
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003

mikeleb
******
Beiträge: 742
Registriert: Fr, 09.12.2011 16:50

Re: durch doppelklick "X" setzen

Beitrag von mikeleb » Mi, 26.02.2014 22:59

Hallo,

@Karolus: cool, an sowas hatte ich zwar gedacht, aber keinen Schimmer, wie man es (so einfach!) umsetzt.
Zu meinem Verständnis:
ereignis liefert doch die Zelle (als Objekt) auf die der Doppelklick erfolgt. Wie "funktioniert" dann "Spreadsheet" und warum lässt es sich auf eine Zelle anwenden? Es müsste doch die gesamte Tabelle als Objekt liefern?
Gruß,
mikeleb

Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 23:00

Ohhh vielen danke Karolus und Heritzp, ich versuche zu lernen
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003

Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 23:25

wie müssen die Tabellenblätter genannt werden (Tabelle(8), heißt bei mir Q-FIS, Tabelle(9) heißt Selbstbild)
hab beide varianten probiert (dunkel markiert) irendwie klappt es einfach nicht
geht es so das man in zwei Tabellenblättern den Bereich festlegt?

REM ***** BASIC *****

Sub schreib_x(ereignis)

oDoc=thiscomponent
oBereich=oDoc.sheets(8).getCellRangeByName("D4:J32;o4:U40;Z4:AJ18")
if oBereich.queryIntersection(ereignis.rangeaddress).count=0 then exit sub


oBereich=oDoc.Selbstbild.getCellRangeByName("C11:H28;c31:H59;C72:L83")
if oBereich.queryIntersection(ereignis.rangeaddress).count=0 then exit sub


IF ereignis.String = "X" THen
ereignis.String = ""
ELSE
Ereignis.String = "X"
End If
End Sub
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003

Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 23:44

hallo Heritzp, ich habs geschafft durch x den zellschutz aufzuheben, aber bei dir ist der bereich im Makro festgeschrieben

(Wie kriegt man das Makro in das weiße fenster rein?)
REM ***** BASIC *****

sub schreib_x(ereignis)

oDoc=thiscomponent
oBereich=oDoc.sheets(0).getCellRangeByName("a1:C5") 'Zellbereich A1:C5 in 1. Tabelle
if oBereich.queryIntersection(ereignis.rangeaddress).count=0 then exit sub

If ereignis.String = "X" Then
ereignis.String = ""
Else
ereignis.String = "X"
End If

end sub


Mein Problem ist wie ich die Zellbereiche auf mehrere Tabellen aufteilen könnte...
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003

Panterle

Re: [gelöst] durch doppelklick "X" setzen

Beitrag von Panterle » Mo, 03.12.2018 11:16

Hallo An Alle,

ich brauche da mal Bitte eure Hilfe.
ich habe dies hier über die Google Suche gefunden, da ich gerade auch eine Tabelle Schreibe, bei der ich in gewissen Zellen ein X oder nicht X einführen will bei klick (da das Markierfeld von openofice in seiner größe nicht geändert werden kann...)
Ich habe diesen Code verwendet:

Sub Schreib_X(ereignis)
oDoc=thiscomponent
oBereich=oDoc.sheets("Tabelle1").getCellRangeByName("N11:N12")
if oBereich.queryIntersection(ereignis.rangeaddress).count=0 then exit sub

If ereignis.String = "X" Then
ereignis.String = ""
Else
ereignis.String = "X"
End If
End Sub

Ich bekomme aber immer die Meldung BASIC-Laufzeitfehler, Argument ist nicht optional.

ich hoffe, dass ihr mir helfen könnt und bedanke mich im Voraus.

Moderationshinweis:
Bitte keine "alten" Threads mehr aufwärmen.
Siehe auch Infos zur Forenbenutzung (dort unter: "Eröffnet neue Threads").
Eröffne bitte einen neuen Thread mit Deiner Frage.
Thread geschlossen.

Gesperrt