4.1k Aufrufe
Gefragt in Tabellenkalkulation von acr Mitglied (215 Punkte)
Hallo Exel-Gemeinde

Habe hier im Exel-Forum einen Code entdeckst, den ich in meiner Arbeitsmappe verwenden möchte. Es wird per Doppelklick ein "X" in die Zelle eingetragen. Dieser Code lautet:

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Range("N9:N65536")) Is Nothing Then
Target.Value = "X"
End If
Application.EnableEvents = True
End Sub

Mein Problem hierbei ist, das ich statt des "X" das Zeichen von Windings (Haken, und liegt dann bei Taste Ü) verwenden möchte.

Vielleicht weiß ja einer eine Lösung??

Gruß Horst

3 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Horst,

bitte keine Excelfragen per PM, dazu ist das Forum da.

Probier's mal so:

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Range("N9:N65536")) Is Nothing Then
With Target
.Font.Name = "Wingdings"
.Value = "ü"
End With
End If
Application.EnableEvents = True
End Sub


Gruss
Rainer
0 Punkte
Beantwortet von
Hi,

Ich komme zu einem ähnlichen Ergebnis:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub 'Bei mehr als einer Zelle raus
'Application.EnableEvents = False 'Evs off (Nur notwendig bei mehreren Ereignismacros)
If Not Intersect(Target, Range("N9:N65536")) Is Nothing Then 'Bereich eingrenzen
Target.Font.Name = "Wingdings" 'ZellenSchriftart "Wingdings"
Target.Value = "ü" 'Zeichen schreiben
Cancel = True 'DK abbrechen (wenn keine weitere Eingabe in Zelle)
End If
'Application.EnableEvents = True 'Evs on (Wenn oben abgeschaltet)
End Sub


Da ich davon ausgehe, dass ausser dem Häkchen nichts weiter in die Zelle soll, würde ich zusätzlich mit Cancel=True den Doppelklick gleich noch abbrechen wollen. (Dadurch geht dann Excel nicht in den EingabeModus für diese Zelle.)

bye
malSchauen
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi All,

bei einem Doppelklick-Ereignis braucht man 1. das Application.EnableEvent nicht abzuschalten (das gilt nur für das Change-Ereignis) und 2. benötigt man kein Exit falls mehr als 1 Zelle ausgewählt wurden, denn ein Doppelklick lässt sich immer nur auf 1 Zelle und nicht auf mehrere gleichzeitig ausführen.


Hi Horst,

falls der Haken wieder entfernt werden soll bei erneutem Doppelklick auf die Zelle:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("N9:N65536")) Is Nothing Then
If Target = "ü" Then
Target.Clear
Else
With Target
.Font.Name = "Wingdings"
.Value = "ü"
End With
End If
Cancel = True
End If
End Sub

Bis später,
Karin
...