Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Häkchen in nur einer von drei Zellen
#1
Hallo zusammen!
Ich habe ein Problem, dass vermutlich für die "Poweruser" hier so einfach ist, dass alle mit den Augen rollen werden. Aber ich krieg es einfach nicht hin.

Es geht um folgendes:
Die drei Zellen (U4, Y4 und AC4) habe ich mit der Schriftart Windings so formatiert, dass ich in den Zellen mit einem doppelklick ein Häkchen setzen kann.
Ich möchte aber, dass immer nur in einer der drei Zellen das Häkchen ist. Soll heißen, wenn ich in einer der Zellen doppelklicke (Häkchen setze) soll das Häkchen
in der anderen Zelle verschwinden.

Vielleicht könnt ihr mir helfen. Ich wäre wirklich sehr dankbar!
Grüße
Steffl
Antworten Top
#2
Recht frisch noch diese Lösung:

http://www.office-hilfe.com/support/show...ht-sein%21

Deinen nicht zusammenhängenden Range kann man genauso ".ClearContents-en".
Antworten Top
#3
Hallo Steffl

Dann mal so
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("U4,Y4,AC4")) Is Nothing Then Exit Sub
        If Target.Value = Chr(252) Then
            Range("U4,Y4,AC4").Value = Chr(159)
            Intersect(Target.EntireRow, Range("U4,Y4,AC4")).Font.Color = RGB(200, 200, 200)
            Target.Font.Color = RGB(200, 200, 200)
            Target.Value = Chr(159)
        Else
            Range("U4,Y4,AC4").Value = Chr(159)
            Intersect(Target.EntireRow, Range("U4,Y4,AC4")).Font.Color = RGB(200, 200, 200)
            Target.Font.Color = RGB(255, 0, 0)
            Target.Value = Chr(252)
        End If
        Cells(Target.Row + 1, Target.Column).Select
End Sub
Mfg Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
[-] Folgende(r) 1 Nutzer sagt Danke an Guschti für diesen Beitrag:
  • Steffl37
Antworten Top
#4
Hallo Guschti, Excel ist doch kein Malprogramm. 

Das Häkchen von Wingdings wird durch "ü" des Standardzeichensatzes erzeugt. Das findet wiederum sinnvollerweise über das Format "ü";; statt, nicht über ein "ü" als Zellinhalt. Der eigentliche Zellinhalt ist dann 1 oder 0 (oder leer). Damit lässt sich unmittelbar viel besser rechnen.

In meinem Link wird (auf dieses Problem übersetzt) der Zellbereich einfach geleert und in der Doppelklick-Zelle mit dem Häkchen versehen.
[-] Folgende(r) 2 Nutzer sagen Danke an LCohen für diesen Beitrag:
  • WillWissen, Rabe
Antworten Top
#5
Hi LCohen,


Zitat:Das findet wiederum sinnvollerweise über das Format "ü";; statt, nicht über ein "ü" als Zellinhalt.

einige meiner Dateien sind Dateien zum Anhaken. Bislang hatte ich tatsächlich das "ü" nur als Zellinhalt benutzt und diesen eben mit ZÄHLENWENN() ausgewertet, wenn ich nur die Anzahl der Häkchen wissen musste. 

Doch für alle, die nun auch diese Art übernehmen wollen, ein kleiner Hinweis: es ist immer noch der Eintrag "ü" möglich (andere Buchstaben nicht!) und das Häkchen erscheint auch bei mehrziffrigen Zahlen. Allerdings wird auch das Ergebnis (z. B. mit SUMME()) verfälscht.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#6
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Ereignis setzt, verschiebt oder löscht Häkchen. Somit 1 oder 0 Häkchen.
'Bitte [U4,Y4,AC4] manuell mit "ü";; und Wingdings formatieren.
  If Intersect(Target, [U4,Y4,AC4]) Is Nothing Then Exit Sub
  Toggle = Target
  [U4,Y4,AC4].ClearContents
  Target = 1 - Toggle
  Cancel = True
'Besser ist If Not Intersect! Hier aber reicht es so aus, da nicht mehr geprüft wird.
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Rabe
Antworten Top
#7
Hallo LCohen!
Danke für die Mühe.
Leider bin ich nicht so bewandert in Excel. Wie muss ich diesen Code nutzen und gehört das in grün geschriebene auch dazu?
Antworten Top
#8
Code komplett kopieren (markieren, Strg-C)
In Excel Rechtsklick auf Blattreiter Deines Blattes
Code Anzeigen
Strg-V
Zurück zu Excel wechseln und rechtsklicken auf U4, Y4 oder AC4

Grün sind VBA-Kommentare, die mitkopiert, aber auch gelöscht werden können.

Vergiss nicht: a) Wingdings b) "ü";;
Antworten Top
#9
Vielen Dank!!!
Werdˋs am Dienstag testen und melde mich dann.
Schönes WE!
Antworten Top
#10
Hi,

ich habe es getestet und das funktioniert einwandfrei. Ich habe noch das Toggle dimensioniert.

Das kann ich auch "brauchen".

[edit]
jetzt fällt mir noch was ein:
Wenn ich in jede Zelle eine andere Zahl eintragen lasse, dann kann ich feststellen, welche Spalte angehakt wurde.
Oder mit
=WENN(Zelle1=1;1;WENN(Zelle2=1;2;WENN(Zelle3=1;3;0)))
=> automatische Auswertung.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste