[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 » Mo, 24.02.2014 23:36

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: 7063
Registriert: Mo, 02.01.2006 19:48
Kontaktdaten:

Re: durch doppelklick "X" setzen

Beitrag von Karolus » Di, 25.02.2014 07:49

Hallo

→Bearbeiten→Tabelle→Ereignisse→Doppelklick →→→

Code: Alles auswählen

sub schreib_x(ereignis)
ereignis.String = "X"
end sub
Karolus
AOO4, LO4.3, LO4.4 LinuxMint17.2

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

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Di, 25.02.2014 15:30

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 » Mi, 26.02.2014 17:26

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 » Mi, 26.02.2014 17:30

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 » Mi, 26.02.2014 17:41

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

WiM

Re: durch doppelklick "X" setzen

Beitrag von WiM » Mi, 26.02.2014 17:48

Hallo Ulti,
ergänze das Makro von Karo z.B. wie folgt

Code: Alles auswählen

If ereignis.String = "X" Then
   ereignis.String = ""
Else
   ereignis.String = "X"
End If
Getestet mit OOo 3.3.0 unter Win7/SP1
Gruß Wim

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

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 20:34

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

HeritzP
*****
Beiträge: 286
Registriert: So, 22.12.2013 11:23

Re: durch doppelklick "X" setzen

Beitrag von HeritzP » Mi, 26.02.2014 20:45

Hallo,

so funktioniert es.

Code: Alles auswählen

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

sub schreib_x(ereignis)
If ereignis.String = "X" Then
   ereignis.String = ""
Else
   ereignis.String = "X"
End If
end sub

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

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 21:13

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

Gast

Re: durch doppelklick "X" setzen

Beitrag von Gast » Mi, 26.02.2014 21:47

Hallo,

du kannst folgendes Testen.

Bedingte Formatierung -> Zellwert ist - gleich - "X"
Vorlage -> neue Vorlage -> Zellschutz entfernen
Bereich unten einstellen

Danach Tabelle schützen aktivieren.

Das funktioniert unter Libre Calc.

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

Re: durch doppelklick "X" setzen

Beitrag von Ulti » Mi, 26.02.2014 21:54

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

Re: durch doppelklick "X" setzen

Beitrag von mikeleb » Mi, 26.02.2014 22:28

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: 7063
Registriert: Mo, 02.01.2006 19:48
Kontaktdaten:

Re: durch doppelklick "X" setzen

Beitrag von Karolus » Mi, 26.02.2014 22:42

Hallo

Besser

Code: Alles auswählen

oBereich = ereignis.Spreadsheet.getCellRangeByName("a1:C5")
Karolus
AOO4, LO4.3, LO4.4 LinuxMint17.2

HeritzP
*****
Beiträge: 286
Registriert: So, 22.12.2013 11:23

Re: durch doppelklick "X" setzen

Beitrag von HeritzP » Mi, 26.02.2014 22:54

Hallo,

Ich habe das Makro mit dem Zellschutz kombiniert.
Der Farbige blaue Bereich ist der von mikeleb eingeschränkte Bereich.(A1:C5)
Die "X" Zellen werden grün, und sind nicht mehr gesperrt.
Unter Bedingter Formatierung und Formatvorlage kannst Du dir ansehen, wie Ich es gemeint habe.
Dateianhänge
Doppelklick mit MAkro incl. Zellschutz .ods
(23.48 KiB) 58-mal heruntergeladen

Gesperrt