Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalt beim klicken verändern a-b-c.

Zellinhalt beim klicken verändern a-b-c.
12.01.2006 12:27:02
Holger
Hallo Jungs & Mädels,
ich möchte mittels Excel eine Abhakliste erstellen. (Anwesenheitsliste)
Neben den Namen sind Zellen, die mittels einfachen Klickens den Inhalt von
"leer" auf "Häkchen" auf "-" auf "e" und wieder auf Anfang, wechseln. Sozusagen eine Checkbox mit vier verschiedenen Zeichen.
Dafür brauche ich sicherlich ein VBA-Script, richtig?
Danke für Hilfe!
Holger

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt beim klicken verändern a-b-c.
12.01.2006 12:30:38
Josef
Hallo Holger!
Wenn dann mit Doppelklick!
Aber warum nimmst du nicht ein Dropdown aus "Daten" &gt "Gültigkeit" &gt "Liste" ?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Zellinhalt beim klicken verändern a-b-c.
12.01.2006 12:43:19
Uduuh
Hallo,
mit Doppelklick, in den Code der Tabelle:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 And Target.Offset(0, 1) <> "" Then
Select Case Target
Case ""
Target = "ü"
Target.Font.Name = "wingdings"
Case "ü"
Target = "-"
Target.Font.Name = "arial"
Case "-"
Target = "e"
Target.Font.Name = "arial"
Case "e"
Target = ""
Target.Font.Name = "arial"
End Select
Cancel = True
End If
End Sub

Gruß aus’m Pott
Udo

Anzeige
Per Trick auch mit Einfach-Klick
12.01.2006 13:03:18
Heiko
Hallo Holger,
mit nem kleinem Trick geht es auch per Einfach Klick.
Wenn es dich aber stört das nach dem Klick die benachbarte Zelle markiert wird, dann geht nur der Weg über Doppelklick.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim isect As Range
If Target.Count > 1 Then Exit Sub
' Wird nur im Bereich B1:B20 ausgeführt !!!  Das deiner Tabelle anpassen.
Set isect = Application.Intersect(Range("B1:B20"), Target)
If Not isect Is Nothing Then
Select Case Target.Text
Case ""
Target = "ü"
Target.Font.Name = "wingdings"
Case "ü"
Target = "-"
Target.Font.Name = "arial"
Case "-"
Target = "e"
Target.Font.Name = "arial"
Case "e"
Target = ""
Target.Font.Name = "arial"
Case Else
Target = ""
Target.Font.Name = "arial"
End Select
Application.EnableEvents = False
Target.Offset(0, 1).Select
Application.EnableEvents = True
End If
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Per Trick auch mit Einfach-Klick
12.01.2006 13:38:17
Holger
Super!!! So sollte es sein, Jungs! Danke! :-)
2 Fragen hab ich noch:
Habe jetzt das Script von Heiko genommen, weil ich keinen Doppelklick haben wollte.
Kann man dem Script nicht sagen, dass die Markierung nach dem Klick nicht in der Zelle daneben sondern z.b. in A1 sein soll?
Ich würde jetzt gerne auch Sonderzeichen verwenden, z.B. ARIAL U+2640 und U+2642 (männlich und weiblich). Wie kann ich dem Script sagen, diese Zeichen zu verwenden?
Herzlichen Dank an alle!!!!!
Holger
AW: Per Trick auch mit Einfach-Klick
12.01.2006 13:54:24
Holger
Nachtrag:
die Markierung darf nach dem Klick nicht in der Zelle daneben landen.
Werden anschließend die Curser-Tasten (down) benutzt, verändert sich der Inhalt der jeweiligen Zelle. Damit werden vom User vermutlich dann Daten verändert. Wäre also toll, wenn die Markierung nach dem Klick in einer anderen (ausserhalb liegendene) Zelle landen würde.
2. Nachtrag:
würde gerne neben Target.Font.Name = "wingdings" auch Schriftgröße, Fett und zentriert mit angeben. Geht das?
Danke!!!!
Holger
Anzeige
AW: Per Trick auch mit Einfach-Klick
12.01.2006 14:12:17
Heiko
Hallo Holger,
hier die gewünschte Änderung:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim isect As Range
If Target.Count > 1 Then Exit Sub
' Für den Bereich B1:B20, das deiner Tabelle anpassen
Set isect = Application.Intersect(Range("B1:B20"), Target)
If Not isect Is Nothing Then
Select Case Target.Text
Case ""
Target = "ü"
Target.Font.Name = "wingdings"
Case "ü"
Target = "-"
Target.Font.Name = "arial"
Case "-"
Target = "e"
Target.Font.Name = "arial"
Case "e"
Target = ""
Target.Font.Name = "arial"
Case Else
Target = ""
Target.Font.Name = "arial"
End Select
' Fett
Target.Font.Bold = True
' Mitte
Target.HorizontalAlignment = xlCenter
' Schriftgröße
Target.Font.Size = 20
Application.EnableEvents = False
ActiveSheet.Range("A1").Select
Application.EnableEvents = True
End If
End Sub

Ausgabe von mänlich weiblich Zeichen über:
Range("A1") = Chrw(9794)
Range("A1") = Chrw(9792)
Aber dich ich leider nicht in VBA zurücklesen, also nicht erkennen wenn sie in der Zelle stehen.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Per Trick auch mit Einfach-Klick
12.01.2006 15:04:01
Holger
Danke Heiko!!!
Jetzt ist es so, wie ich es haben möchte!
Ernsthaft: vielen Dank! :)
AW: Per Trick auch mit Einfach-Klick
12.01.2006 15:34:45
Holger
Danke Heiko!!!
Jetzt ist es so, wie ich es haben möchte!
Ernsthaft: vielen Dank! :)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige