[gelöst] durch doppelklick "X" setzen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

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

[gelöst] durch doppelklick "X" setzen

Beitrag von Ulti »

Hallo zusammen,

kann man durch einen doppelklick in ein Feld ein "X" setzen?

Gruß Ulti
Zuletzt geändert von Ulti am Di, 04.03.2014 16:04, insgesamt 1-mal geändert.
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: durch doppelklick "X" setzen

Beitrag von Karolus »

Hallo

→Bearbeiten→Tabelle→Ereignisse→Doppelklick →→→

Code: Alles auswählen

sub schreib_x(ereignis)
ereignis.String = "X"
end sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti »

es klappt super danke,

noch eine Frage

kann man, wenn auf ein anderes Feld (in einen bestimmten Bereich) ein X gesetzt wird, das alte X verschwinden lassen?

Gruß Ulti
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 »

bei dem Versuch ein X durch doppelklikc zu setzen und durch ein weiteren doppelklick zu entfernen, wurde folgendes versucht (aus dem Net).

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:D5"), Target) Is Nothing Then
Cancel = True
Target = IIf(Target = "X", "", "X")
End If
End Sub

leider kommt als fehler: Basic Laufzeitfehler '1

hat jemand einen Plan?
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Halbwissender
***
Beiträge: 60
Registriert: Di, 11.02.2014 06:12

Re: durch doppelklick "X" setzen

Beitrag von Halbwissender »

Hi,

ich denke, dass es sich bei diesem Code um ein Excel-Makro handelt und das läuft meines Wissens nach nicht in OOo
Gruß
Günter

Bild

__________________________________
AOO401m5(Build:9714) - Rev. 1524958
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti »

schade,
gibts denn einen weg wie man bei Libre office per doppelklick ein x setzten und mit noch einem doppelkick es wieder entfernen kann?
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 »

Vielen dank,
ich habe verschiedene Versionen ausprobiert und es kommen immer wieder fehlermeldungen. Libre office 4.2.

mach ich was grundsätzliches Falsch?

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

Sub schreib_x(ereignis)
ereignis.String = "X" [Fehler: 91. Objektvariable nicht vergeben]
If ereignis.String ="X" Then
ereingis.String = ""
Else
ereignis.String = "X"

End If

end sub

sorry wenn der fehler zu offensihctlich ist, ich bin ein Makro-Noob und lese mihc gerade inmakro - Kochbuch ein (kennt jemand evtl. eine leicht verdauliche Page für Makros? Toll wäre eine BefehlsListe mit Makro Befehlen so wie früer für Dos..)
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 »

super klasse es klaptt, danke =)

letze Frage:
die X sollen in die Bereiche des Tabellenblattes kommen die nicht geschützt sind -> klappt auch
Aber alle geschützen zellen (die man ja nicht von hand bearbeiten kann) lassen sich mit einem doppelklick quasi "wegixen", sprich der inhalt wird durch x ersetzt und kann nicht rückgängig gemacht werden....
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 »

kann man irgendwie ins makro schreiben dass nur bestimmte bereiche der tabelle "geixt" werden können?
mit RANGE oder so?


@Gast
danke aber irgendwie check ich es nicht ganz.

Was wird unter "Bereich" gewählt?
unter Bereich kann man wählen zwischen

Alle Vorlagen
Benutzervorlagen
Verborgener Vorlagen

nur verstehe ich nicht wo ich den bereich in dem die X stehen können defienieren soll...

zuerst alle felder markieren-> klappt nicht,
ein Feld markieren und bedingte Formatieurng übertragen -klappt nicht
jeweils alle drei Vorlagen im Bereich, probiert,
Zuletzt geändert von Ulti am Mi, 26.02.2014 22:40, insgesamt 1-mal geändert.
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: durch doppelklick "X" setzen

Beitrag von mikeleb »

Hallo,

den Bereich kannst du auch im Makro einschränken:

Code: Alles auswählen

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
Gruß,
mikeleb
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: durch doppelklick "X" setzen

Beitrag von Karolus »

Hallo

Besser

Code: Alles auswählen

oBereich = ereignis.Spreadsheet.getCellRangeByName("a1:C5")
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: durch doppelklick "X" setzen

Beitrag von Ulti »

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: 1315
Registriert: Fr, 09.12.2011 16:50

Re: durch doppelklick "X" setzen

Beitrag von mikeleb »

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 »

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 »

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
Gesperrt