Farbige Zellen durch Checkbox bzw Kontrollfeld

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hwg68
**
Beiträge: 20
Registriert: Do, 15.11.2012 12:38

Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von hwg68 »

Hallo,

nun folgendes Problem:

In einer Zelle habe ich über Ansicht-->Symbolleisten--->Formular/Steuerlelemente ein Markierfeld erstellt. Setze ich dort einen Haken, soll das Feld z.b grün werden. Nehme ich den Haken raus, soll es wieder weiss werden bzw ohne Füllfarbe sein.

Versucht habe ich folgendes: Über die Eigenschaften des Markier- bzw Kontrollfeldes habe ich bei Ereignisse versucht Makros zu setzen und zwar:

bei Fokuserhalt ein Makro, in dem ich die jeweilige Zelle per Mausklick mit (zb) grün fülle und bei Fokusverlust ein Makro, in dem ich per Mausklick den Hintergrund ohne Füllung setze.

Die enstprechenden Makros habe ich vorher über die Funktion Makros--->aufzeichnen erstellt. Aber irgendwie klappt das so nicht......

Danke für die Hilfe!

hwg
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von balu »

Hallo hwg,
bei Fokuserhalt ein Makro
Das ist der Falsche Weg. Und warum? Weil, wenn der Mauszeiger auf die Fläche des Markierfeldes kommt wird sofort eine Aktion ausgeführt, und das ohne das Du eine Maustaste gedrückt hast. Und das gleiche gilt auch für das verlassen des Markierfeldes.

Da ich ja nicht weiß wie dein Makro für die Füllfarben aussieht, kann ich dir nicht sagen was Du wo ändern musst, damit mein folgender Vorschlag funktioniert.
Du gehst nicht auf Fokus... für das Markierfeld, sondern einzig nur auf "Status geändert". Und das Makro welches Du zuweisen musst fragt den Status des Markierfeldes ab. Und je nach Status wird dann die Farbe gesetzt.

Hilft das weiter?



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
hwg68
**
Beiträge: 20
Registriert: Do, 15.11.2012 12:38

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von hwg68 »

Hm...hab jetzt einfach mal mein Makro bei der Statusänderung eingesetzt.

Aber wie frage ich denn mit nem Makro den Status überhaupt ab? und WENN dann Statusänderung, dann doch bestimmt die Farbe zuweisen mit =back color xxx ??
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von Karolus »

Hallo
Für ein Markierfeld:

Code: Alles auswählen

def box_test(event):
    box = event.Source
    if box.State == 1:
        box.Model.BackgroundColor = 123456
    else:
        box.Model.BackgroundColor = -1
übersetze das in Basic und verknüpfe mit dem Ereignis 'Aktion ausführen'

Das ganze ist relativ einfach herauszufinden mit folgendem 'Standard'-event-test:

Code: Alles auswählen

sub test(event):
    mri( event ) 
Ja - dafür muss mri installiert sein und einmalig verfügbar gemacht werden per:

Code: Alles auswählen

Sub LoadMriLibrary()
  Globalscope.BasicLibraries.LoadLibrary( "MRILib" )
End Sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hwg68
**
Beiträge: 20
Registriert: Do, 15.11.2012 12:38

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von hwg68 »

Hallo Karo,

danke erstmal für deine Hilfe!

Aber ich glaub, du schätzt mich zu hoch ein... das sind jetzt erstmal alles "böhmische Dörfer" ..... :shock:

Die mri-Extension hab ich wenigstens mal in Oo eingefügt.....alles andere..... ??????
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von Karolus »

Hallo
Aber ich glaub, du schätzt mich zu hoch ein... das sind jetzt erstmal alles "böhmische Dörfer"
Man wächst an seinen Herauforderungen 8)

hier die Basic-version:

Code: Alles auswählen

sub box_test(event)
    box = event.Source
    if box.State = 1
        box.Model.BackgroundColor = rgb(0, 255, 0)
    else
        box.Model.BackgroundColor = -1
    end if
end sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hwg68
**
Beiträge: 20
Registriert: Do, 15.11.2012 12:38

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von hwg68 »

danke Karo, ich versuche zu wachsen, da mich das ganze interessiert und ich eigenlich gern tüftle mit solchen Dingen... :)

Hab ein Makro erstellt und deinen Code rein kopiert. Beim "Abspielen" ist allersdings die "1" in der ersten "if"-Zeile markiert und es kommt "Basic-Syntaxfehler Erwartet: Then"


hwg
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von Karolus »

..und es kommt "Basic-Syntaxfehler Erwartet: Then"
Da gibt dir Basic mal ausnahmsweise einen verständlichen Tipp und du bemerkst es nicht mal -
häng an die angemeckerte Zeile ein then dran.

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hwg68
**
Beiträge: 20
Registriert: Do, 15.11.2012 12:38

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von hwg68 »

hmm....soweit haben meine englisch-kenntnisse noch gereicht, um es mit einem then am ende dieser zeile zu versuchen, aber...

dann ist box = event.Source markiert mit der Meldung: Basic-Laufzeitfehler - Argument ist nicht optional


bist du teuer als Privatlehrer? :)
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld

Beitrag von Karolus »

Hallo

Binde die Ausführung der Sub an das Ereignis 'Aktion ausführen' der Checkbox...

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten