Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

SelectionChange-Ereignis Enter u. Tab beschränken

SelectionChange-Ereignis Enter u. Tab beschränken
07.12.2017 17:27:21
Dominik
Guten Abend an alle,
ich brauch mal wieder eure Hilfe. Wie kann ich das SelectionChange-Ereignis durch eine If-Anweisung bzw. anderst auf die Enter und Tab-Taste beschränken? Ich habe leider nichts dazu gefunden. Etwas ähnliches habe ich schon in einem UserForm (mit einer Input-Box) gemacht mit der Beschränkung auf Zahlen (einer extra Klasse zugeordnet). Dies ist jedoch etwas anderes oder?
Könnt Ihr mir sagen wie ich das machen kann wenn ich kein UserForm benutze sondern in einem Tabellenblatt in Excel nutzen will.
Ich brache dies noch um mein Problem/ Aufgabe unter dem Link abzuschließen.
Link:
https://www.herber.de/forum/archiv/1592to1596/t1593080.htm
Vielen Dank für eure Hilfe. Ich wünsche euch einen schönen Abend.
Gruß
Dominik

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
07.12.2017 17:50:01
Nepumuk
Hallo Dominik,
ein Beispiel:
Option Explicit

Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" ( _
    ByVal vKey As Long) As Integer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If GetAsyncKeyState(vbKeyReturn) <> 0 Or GetAsyncKeyState(vbKeyTab) <> 0 Then Beep
End Sub

Gruß
Nepumuk
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
08.12.2017 20:22:55
Dominik
Guten Abend Nepumuk,
bei mir funktioniert das leider nicht. Ich bekomme zu Beispiel beim wechsel der Selection mit der Entertaste trotzdem bei
Debug.Print GetAsyncKeyState(vbKeyReturn)
eine "O" zurück. Muss ich hier noch einen Verweis auswählen bzw. aktivieren, damit die Überprüfung der gedrückten Taste funktioniert?
Vielen Dank schon jetzt für deine/ eure Hilfe.
Ich wünsche euch allen ein schönes Wochenende.
Gruß
Dominik
AW: SelectionChange-Ereignis Enter u. Tab beschränken
07.12.2017 17:53:38
onur
Ich schrieb dir damals:
"Du brauchst nur eine globale variable, die immer im Selection_Change-Ereignis mit dem Wert von Target gefüttert wird". Ich schrieb nix von Target wieder zurück in die Zelle schreiben, denn dadurch wird das Change-Ereignis aiusgelöst.
Das soll aber NUR ausgelöst werden, WENN die Zelle verändert wurde.
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
08.12.2017 20:16:54
Dominik
Guten Abend onur,
ich wusste nur nicht in wieweit ich dies zur Umsetzung meiner Aufgabe gebrauchen kann. Wenn ich die Prüfung der Enter-Taste einrichten kann, dann müsste ich eigentlich erhalten was ich wollte.
Ich wünsche dir ein schönes Wochenende.
Gruß
Dominik
AW: SelectionChange-Ereignis Enter u. Tab beschränken
08.12.2017 20:23:55
onur
Viel zu umständlich und kompliziert gedacht.
Kannst du mal die datei posten (inkl nochmaliger Erklärung, was genau das makro wann und wo schreiben soll)?
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 09:19:13
Dominik
Guten Morgen Onur,
Mein momentaner Code lautet und ist im Modul des entsprechenden Arbeitsblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Union(Range("tblTest1"), Range("tblTest2"), Range("tblTest3"), Range(" _
tblTest4")), Columns(4)) Is Nothing Then Exit Sub
Me.Unprotect
Target.Offset(, 1) = Date
Me.Protect
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Soll nur bei Enter-Taste bzw. Tab- _
Taste ausgeführt werden
Dim dblZelleSelectionCange As Double
dblZelleSelectionCange = Target.Value
'Debug.Print p_dblZelleSelectChange
Target.Value = dblZelleSelectionCange
End Sub
Link der Datei: https://www.herber.de/bbs/user/118205.xlsm
Also ich möchte damit erreichen, dass entweder durch Änderung des Zelleninhaltes in der Spalte 4 (Eingaben) oder durch bestätigen der bereits hinterlegten Eingabe das aktuelle Datum eine Spalte weiter (Spalte 5 bzw. Offset 1) eingetragen wird. Das ganze soll dazu dienen, um Werte einzutragen und zu sehen wie aktuell der Wert ist bzw. ob dieser eventuell bereits verändert sein könnte. Warscheinlich muss ich den Code wenn ich das mit der Enter- bzw. Tab-Taste hinbekommen habe noch etwas ändern, damit das SelectionChange-Ereignis durch Offsets alles eine Zeile höher macht, da die Bestätigung durch verlassen der Zelle mit Enter bzw. Tab funktionieren soll und nicht beim Auswählen (Selection) der Zelle.
Ich hoffe, ich habe dir bzw. euch mein Problem etwas genauer erklären können und es ist nicht alles zu verwirrend.
Gruß
Dominik
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 12:42:20
Dominik
Das mit der Enter-Taste wäre mir generell schon lieber, da mir dies gewohnter/intutiver erscheint auch wenn es sicher etwas komplizierter in der Umsetzung ist und der Code dann immer beim SelectionChange-Ereignis ablaufen muss (Performanceverluste). Ist aber auch keine riesige Excel-Datei sodass dies nicht zu buche stehen dürfte.
Aber die Idee mit Doppelklick finde ich sonst auch nicht schlecht. Mir wäre das mit Enter nur generell lieber.
Mein Problem ist, dass ich leider nicht weiß wie ich die Abfrage nach einer Taste hinbekomme sonst könnte ich hier selbst mal etwas rumprobieren. Der Code von "Nepumuk" läuft bei mir einfach nicht egal welche Taste ich gedrückt habe.
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 12:52:17
Nepumuk
Hallo Dominik,
hier mal eine Testmappe mit dem Code der bei mir funktioniert. Jedes mal wenn du Enter oder Tab drückst sollte dein Rechner einen Ton von sich geben.
https://www.herber.de/bbs/user/118210.xlsm
Gruß
Nepumuk
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 13:40:04
Dominik
Hallo Nepumuk,
bei mir tut sich leider garnichts.
Debug.Print GetAsyncKeyState(vbKeyReturn) gibt mir immernoch 0 als Wert beim wechseln mit Enter  _
zurück.

Ich weiß leider nicht woran das liegt.
Das mit dem Beep scheint bei meinem Dell-Notebook aber leider überhaupt nicht zu funktionieren zumindest höre ich nichts auch wenn ich eine eigene Sub dafür schreibe. Das ist aber auch nicht weiterschlimm.
Als Information:
Ich habe einen I7-Prozessor 3630QM mit 2,4 GHz; Windows 10 64-Bit falls es daran noch liegen kann. Excel Version 2016 (bzw. 365)
Ich hoffe du kannst mir irgendwie weiterhelfen.
Gruß
Dominik
Anzeige
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 13:50:14
Nepumuk
Hallo Dominik,
ich habe es unter Excel 2013 und 2016 getestet, funktioniert einwandfrei. Warum es bei dir nicht geht kann ich leider auch nicht sagen.
Gruß
Nepumuk
AW: SelectionChange-Ereignis Enter u. Tab beschränken
09.12.2017 15:19:32
Dominik
Dann muss ich doch leider das mit dem Doppelklick verwenden und eine kurze Anleitung dazu schreiben, damit das auch bei anderen Anwendern funktioniert.
Trotzdem Danke an alle vielleicht funktioniert das mit der Enter-Taste ja bei jemandem anderen.
Gruß
Dominik
AW: SelectionChange-Ereignis Enter u. Tab beschränken
11.12.2017 21:37:41
Dominik
Hallo onur,
genau, dass ist das was ich wollte. Damit kann ich meinen Code entsprechend "umbauen" und für meine Zwecke eventuell noch etwas abändern.
Mit
Application.OnKey "{ENTER}", "Prozedur/ Sub"
kann ich das umsetzen.
Danke dir. Ich wünsche dir einen schönen Abend.
Gruß
Dominik
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige