Das ist genau das was ich eben nicht möchte, keine TAB-Taste, keine ENTER-Taste.
Der Cursor soll direkt nach Eingabe von "1" oder "2" direkt in die nächste Zelle.
Bei Eingabe aller anderen Zeichen, Symbole, Leertaste, Buchstaben soll die Zelle leer blaiben und der Cursor direkt in die nächste Zelle in der Reihenfolge wie oben angegeben...
16.11.2019, 21:39 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2019, 21:58 von shift-del.
Bearbeitungsgrund: TAB-Taste ergänzt
)
(16.11.2019, 17:46)Mingos schrieb: wenn ich in die Zelle die ziffer "1" oder "2" eingebe, soll der Cursor automatisch (ohne Entertaste) auf die nächste Zelle springen.
Eine Zelleingabe muss immer abgeschlossen werden. Entweder mit ENTER oder mit einer Cursor-Taste oder mit der TAB-Taste.
(16.11.2019, 17:46)Mingos schrieb: bei allen anderen Zeichen, Buchstaben und Zahlen, bleibt die Zelle leer!
Warum solltest du andere Werte als 1 oder 2 eingeben wenn du nur 1 oder 2 benötigst?
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
16.11.2019, 22:01 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2019, 22:01 von Käpt'n Blaubär.)
Hallo,
Zitat:Das ist genau das was ich eben nicht möchte, keine TAB-Taste, keine ENTER-Taste.
... dann solltest Du Dich an Microsoft wenden. Hier wird Dir jeder nur raten können, Dich demütig in die Gegebenheiten zu fügen.
OK: Ein Versuch, Dir begreiflich zu machen, warum das nichr möglich ist.
Wie soll Excel zwischen den Zuständen entscheiden ob Du Deine Eingabe beendet hast Dann könnte Excel in die nächste Zelle hüpfen oder das Du Dir nur am Kopf kratzt Was bedeuten würde, daß Excel noch warten muß
VBA ist eine Programmiersprache, mit der man Excel in gewisser weise auch steuern kann. Trotzdem gilt auch hier, was Käptn Blaubär geschrieben hatte, das Programm muss erkennen können, wann die Eingabe abgeschlossen ist. Woher soll es wissen, ob ein Zeichen oder mehrere pro Zelle eingegeben werden sollen. VBA-Codes gibt es nicht vor konfektioniert, die muss man schon selber schreiben.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
17.11.2019, 07:22 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2019, 07:22 von LCohen.)
Woher soll es wissen, ob ein Zeichen oder mehrere pro Zelle eingegeben werden sollen? Es geht um Tastenanschläge, nicht Eingaben.
Über Applikation.OnKey könnte man ohne 1, 2 und ESC die anderen Tasten (String aller anderen Tasten, Split-Zuweisung in ein Array) im Nicht-Kombinationsmodus umleiten. Im Kombi-Modus ginge es auch; dann würde es aber recht viel.
Bei 1 und 2 würde ein Eintrag vorgenommen, bei anderen nicht.
Die Zelle würde in gewünschter Richtung gewechselt (außer bei ESC).
Ob vor dem Eintrag die Zelle gelöscht werden soll, müsste TE noch sagen.
' ************************************************************** ' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...) ' **************************************************************
PrivateSub Workbook_SheetActivate(ByVal Sh AsObject) If Sh.CodeName = "Tabelle1"Then'<< TabellenCodename anpassen IfNot Application.Intersect(ActiveCell, Range("C4:G40")) IsNothingThen TabsteuerungEin EndIf Else TabsteuerungAus EndIf EndSub
' ************************************************************** ' Modul: Tabelle1 Typ = Element der Mappe(Sheet, Workbook, ...) ' **************************************************************
' ************************************************************** ' Modul: mTabsteuerung Typ = Allgemeines Modul ' **************************************************************
OptionExplicit
Dim bolR AsBoolean
PublicSub TabsteuerungAus() Dim i AsLong For i = 1 To 255 Application.OnKey "{" & i & "}" Application.OnKey "+{" & i & "}" Application.OnKey "^{" & i & "}" Application.OnKey "%{" & i & "}" Application.OnKey "+^{" & i & "}" Application.OnKey "+%{" & i & "}" Application.OnKey "^%{" & i & "}" Application.OnKey "+^%{" & i & "}" Next i 'MsgBox "Tabsteuerung ist ausgeschaltet", vbInformation, "Tabsteuerung" EndSub
PublicSub TabsteuerungEin() Dim i AsLong For i = 1 To 255 Application.OnKey "{" & i & "}", "TabV" Application.OnKey "+{" & i & "}", "TabV" Application.OnKey "^{" & i & "}", "TabV" Application.OnKey "%{" & i & "}", "TabV" Application.OnKey "+^{" & i & "}", "TabV" Application.OnKey "+%{" & i & "}", "TabV" Application.OnKey "^%{" & i & "}", "TabV" Application.OnKey "+^%{" & i & "}", "TabV" Next i Application.OnKey "{" & 49 & "}", "Eintrag1" Application.OnKey "{" & 97 & "}", "Eintrag1" Application.OnKey "{" & 50 & "}", "Eintrag2" Application.OnKey "{" & 98 & "}", "Eintrag2" Application.OnKey "{RIGHT}", "TabV"'NACH-RECHTS-TASTE Application.OnKey "{TAB}", "TabV"'TAB Application.OnKey "{ENTER}", "TabV"'EINGABETASTE (Zehnertastatur) Application.OnKey "{RETURN}", "TabV"'EINGABETASTE Application.OnKey "{LEFT}", "TabZ"'NACH-LINKS-TASTE Application.OnKey "{BS}", "TabZ"'RÜCKTASTE Application.OnKey "+{TAB}", "TabZ"'UMSCHALT+TAB Application.OnKey "+{ENTER}", "TabZ"'UMSCHALT+EINGABETASTE (Zehnertastatur) Application.OnKey "+{RETURN}", "TabZ"'UMSCHALT+EINGABETASTE 'MsgBox "Tabsteuerung ist eingeschaltet", vbInformation, "Tabsteuerung" EndSub