Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1392to1396
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
Inhaltsverzeichnis

Excel - Ergänzung

Excel - Ergänzung
18.11.2014 10:52:20
tigub
Hallo zusammen
Nun hab ich gegoogelt und bin fündig geworden...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngGeltungsBereich As Range
Set rngGeltungsBereich = Union(Range("A22"), Range("A22"))
If Not Intersect(Target, rngGeltungsBereich) Is Nothing And Target.Count = 1 Then
Target.Value = "X"
End If
Set rngGeltungsBereich = Nothing
End Sub
Doch stört mich daran, das beim verschieben (Zellmarkierung), Pfeil auf, ab, links, rechts,
die genannte Zelle auch markiert wird...
Frage an Euch: Weiss jemand wie ich es ändern muss, dass es wirklich nur auf klick in die Zelle A22 ändert?
Vielen Dank für die Hilfe...
tigub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel - Ergänzung
18.11.2014 10:55:38
Hajo_Zi
if Target.address="$A$22" then

AW: Excel - Ergänzung
18.11.2014 11:50:07
tigub
Hallo Hajo_Zi
An welcher Position müsste ich
if Target.address="$A$22" then
einfügen?
Vielen Dank
tigub

AW: Excel - Ergänzung
18.11.2014 11:10:07
fcs
Hallo tigub,
wenn die Zellselektion per Pfeiltasten etc. kein "X" setzen soll, dann musst du für das Eintragen eines "X" ein anderes Maus-Ereignis wählen, z.B.: Maus-Linke-Taste-Doppelklick oder Maus-Rechte-Taste-Klick.
Die entsprechenden Makros sehen dann wie folgt aus, wobei der Zellinhalt zwischen X und kein Inhalt umgeschaltet wird.
Gruß
Franz
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngGeltungsBereich As Range
Set rngGeltungsBereich = Union(Range("A22"), Range("A22"))
If Not Intersect(Target, rngGeltungsBereich) Is Nothing And Target.Count = 1 Then
If Target.Value = "X" Then
Target.ClearContents
Else
Target.Value = "X"
End If
Cancel = True
End If
Set rngGeltungsBereich = Nothing
End Sub
'oder
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim rngGeltungsBereich As Range
Set rngGeltungsBereich = Union(Range("A22"), Range("A22"))
If Not Intersect(Target, rngGeltungsBereich) Is Nothing And Target.Count = 1 Then
If Target.Value = "X" Then
Target.ClearContents
Else
Target.Value = "X"
End If
Cancel = True
End If
Set rngGeltungsBereich = Nothing
End Sub

Anzeige
AW: Excel - Ergänzung
18.11.2014 11:25:50
tigub
Hallo zusammen
Vielen Dank für die Tip.
Nur eine Frage, das mit dem "X" und kein "X" das lässt sich nicht beheben?
tigub

AW: Excel - Ergänzung
18.11.2014 11:39:21
tigub
Hallo zusammen
Vielen Dank für die Tip.
Nur eine Frage, das mit dem "X" und kein "X" das lässt sich nicht beheben?
tigub

was meinst Du damit ?
18.11.2014 11:50:28
Matthias
Hallo
Zitat:
Nur eine Frage, das mit dem "X" und kein "X" das lässt sich nicht beheben?
Was meinst Du damit?
Gruß Matthias

AW: was meinst Du damit ?
18.11.2014 12:01:56
tigub
Hallo Matthias L
In einer Antwort von Franz wird eben von linke Maustaste klick = "X"
und wieder klick verschwindet das "X" wieder...
Und dies möchte ich behoben haben,
sofern das überhaupt geht...
tigub
Siehe unten:
Hallo tigub,
wenn die Zellselektion per Pfeiltasten etc. kein "X" setzen soll, dann musst du für das Eintragen eines "X" ein anderes Maus-Ereignis wählen, z.B.: Maus-Linke-Taste-Doppelklick oder Maus-Rechte-Taste-Klick.
Die entsprechenden Makros sehen dann wie folgt aus, wobei der Zellinhalt zwischen X und kein Inhalt umgeschaltet wird.
Gruß
Franz
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngGeltungsBereich As Range
Set rngGeltungsBereich = Union(Range("A22"), Range("A22"))
If Not Intersect(Target, rngGeltungsBereich) Is Nothing And Target.Count = 1 Then
If Target.Value = "X" Then
Target.ClearContents
Else
Target.Value = "X"
End If
Cancel = True
End If
Set rngGeltungsBereich = Nothing
End Sub
'oder
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim rngGeltungsBereich As Range
Set rngGeltungsBereich = Union(Range("A22"), Range("A22"))
If Not Intersect(Target, rngGeltungsBereich) Is Nothing And Target.Count = 1 Then
If Target.Value = "X" Then
Target.ClearContents
Else
Target.Value = "X"
End If
Cancel = True
End If
Set rngGeltungsBereich = Nothing
End Sub

Anzeige
einfach Target.Value = "X"
18.11.2014 12:07:17
Matthias
Hallo
Franz hat geschrieben:
Maus-Linke-Taste-Doppelklick
Du brauchst doch nur diesen Teil ersetzen:

If Target.Value = "X" Then
Target.ClearContents
Else
Target.Value = "X"
End If
durch
Target.Value = "X"
Das war doch nur ein Vorschlag von Franz
Gruß Matthias

dann benutz den Doppeklick
18.11.2014 11:14:07
Matthias
Hallo
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = Range("A22").Address Then Target = "X"
End Sub
Was Du mit Union(...) bezweckst bei nur einer Zelle ist mir rätselhaft
Gruß Matthias

Anzeige
AW: dann benutz den Doppeklick
18.11.2014 11:56:11
tigub
Hallo Matthias L
Das werden schlussendlich schon mehrere Zellen doch ist ihr Ziel immer wo anders
z.B. 1. klick auf A1 = Änderung in A5
2. klick auf B1 = Änderung in A20
etc.
Aber erst muss ich mal das eine zum laufen bringen dann kommt dann das nächste..
tigub

AW: Excel - Ergänzung
18.11.2014 16:53:44
tigub
Danke Allen, die mir geholfen haben...
So funktioniert's recht gut...
Supi...
Vielen Dank

tigub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige