Supportnet / Forum / Tabellenkalkulation
Sprung zum nächsten Eingabefeld
Frage
Hallo,
ist es möglich,in einer Tabelle beim Eingeben von Werten, direkt von einem Eingabefeld zum nächsten Eingabefeld, mittels der Entertaste, zu springen. Es sind nur die relvanten Zellen beschreibbar, alle anderen sind gesperrt.
Vielen Dank für die Hilfe.
Gruß
Antwort 1 von anno_58
Hi myma,
Nicht mit der Enter-, aber mit der Tabulatortaste. Voraussetzung ist, dass das Formular geschützt ist und nur die Eingabefelder ungeschützt. Sind deine Eingabefelder nun z. Bsp in den Zeilen 1-10 jeweils in den Spalten C, F, H usw. so springst du mit der Tab-Taste von Zelle C1 angefangen bis zur Zelle H10. Musst du in einer Tabelle in jeder Zeile alle Spalten anspringen kannst du auch im ungeschützten Arbeitsblatt mit der Tabulatortaste von Spalte zu Spalte springen. Die Entertaste in der letzten Spalte bringt dich dann eine Zeile tiefer wieder in die Spalte, in der du eins höher die erste Eintragung gemacht hast.
Gruß Anno
Rückmeldung wäre nett
Nicht mit der Enter-, aber mit der Tabulatortaste. Voraussetzung ist, dass das Formular geschützt ist und nur die Eingabefelder ungeschützt. Sind deine Eingabefelder nun z. Bsp in den Zeilen 1-10 jeweils in den Spalten C, F, H usw. so springst du mit der Tab-Taste von Zelle C1 angefangen bis zur Zelle H10. Musst du in einer Tabelle in jeder Zeile alle Spalten anspringen kannst du auch im ungeschützten Arbeitsblatt mit der Tabulatortaste von Spalte zu Spalte springen. Die Entertaste in der letzten Spalte bringt dich dann eine Zeile tiefer wieder in die Spalte, in der du eins höher die erste Eintragung gemacht hast.
Gruß Anno
Rückmeldung wäre nett
Antwort 2 von nighty
hi alle :)
geht nicht gibt es nicht :)
vor kurzem schon einmal aehnliches thema gewesen hab kopiert und eingefuegt(aber mein makro :))
hier ein makro was einen bereich eingrenzt (ohne tabellenschutz)und zur naechsten freien zelle des begrenzten bereiches springt,egal ob return oder tab oder cursertasten :)
zur zeit ist B3-F3 als bereich eingestellt,den forderungen anzupassen(begrenzt auf a-z zeilen bis ende einstellbar).
gruss nighty
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call Makro01
End Sub
Sub Makro01()
bereich1$ = "B3"
bereich2$ = "F3"
GoSub adresse
b1 = 0
If zeile1 >= Val(Mid$(bereich1$, 2, Len(bereich1$))) And zeile1 <= Val(Mid$(bereich2$, 2, Len(bereich2$))) Then
b1 = b1 + 1
End If
If Asc(spalte$) >= Asc(Mid$(bereich1$, 1, 1)) And Asc(spalte$) <= Asc(Mid$(bereich2$, 1, 1)) Then
b1 = b1 + 1
End If
If b1 <> 2 Then
For t = Asc(Mid$(bereich1$, 1, 1)) To Asc(Mid$(bereich2$, 1, 1))
For t1 = Val(Mid$(bereich1$, 2, Len(bereich1$))) To Val(Mid$(bereich2$, 2, Len(bereich2$)))
If Range(Chr$(t) & t1) = "" And g0 < 1 Then
zaehler = 1
g0 = 1
g1 = t
g2 = t1
End If
Next t1
Next t
If zaehler = 1 Then Range(Chr$(g1) & g2).Select
End If
End
adresse:
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
Return
End Sub
geht nicht gibt es nicht :)
vor kurzem schon einmal aehnliches thema gewesen hab kopiert und eingefuegt(aber mein makro :))
hier ein makro was einen bereich eingrenzt (ohne tabellenschutz)und zur naechsten freien zelle des begrenzten bereiches springt,egal ob return oder tab oder cursertasten :)
zur zeit ist B3-F3 als bereich eingestellt,den forderungen anzupassen(begrenzt auf a-z zeilen bis ende einstellbar).
gruss nighty
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call Makro01
End Sub
Sub Makro01()
bereich1$ = "B3"
bereich2$ = "F3"
GoSub adresse
b1 = 0
If zeile1 >= Val(Mid$(bereich1$, 2, Len(bereich1$))) And zeile1 <= Val(Mid$(bereich2$, 2, Len(bereich2$))) Then
b1 = b1 + 1
End If
If Asc(spalte$) >= Asc(Mid$(bereich1$, 1, 1)) And Asc(spalte$) <= Asc(Mid$(bereich2$, 1, 1)) Then
b1 = b1 + 1
End If
If b1 <> 2 Then
For t = Asc(Mid$(bereich1$, 1, 1)) To Asc(Mid$(bereich2$, 1, 1))
For t1 = Val(Mid$(bereich1$, 2, Len(bereich1$))) To Val(Mid$(bereich2$, 2, Len(bereich2$)))
If Range(Chr$(t) & t1) = "" And g0 < 1 Then
zaehler = 1
g0 = 1
g1 = t
g2 = t1
End If
Next t1
Next t
If zaehler = 1 Then Range(Chr$(g1) & g2).Select
End If
End
adresse:
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
Return
End Sub
Antwort 3 von coros
Nabend @myma
ich hätte da auch eine VBA-Lösung für Dich. Kopier nachfolgende Anweisung in das VBA-Projekt Deiner Tabelle.
Du musst, damit diese Anweisung funktioniert, in Deiner Tabelle dan Blattschutz aktivieren. Vorher musst Du in den Zellen, in die nachher mit der Return-Taste gesprungen werden soll, unter Zelle formatieren in dem Registerblatt "Schutz" den Haken bei Gesperrt entfernen. Dann muss die Anweisung eventuell noch angepasst werden. In der Zeile
Sheets("Tabelle1").Unprotect Password:="Hier das Blattschutzpassort eintragen"
muss, wenn Dein Tabellenblatt einen anderen Namen als Tabelle1 hat, dieser dort geändert werden. Außerdem mus der Text, der in den Anführungsstrichen steht ("Hier das Blattschutzpassort eintragen") gegen Das Passwort, dass Du für den Blattschutz verwendet hast geändert werden. Das selbe muss ebenfalls in der Zeile
.Protect Password:="Hier das Blattschutzpassort eintragen"
und in der Zeile
With Sheets("Tabelle1")
muss der Tabellenblattname eventuell geändert werden.
Da ich nicht weiß, ob Du Dich mit VBA auskennst, hier eine kurze Anleitung wie Du den Code in Dein Tabellenblatt bekommst.
1. Hier den Code in dem blauen Fenster mit der Tastenkombination Strg c kopieren
2. Deine Tabelle öffnen.
3. Tastenkombination Alt F11 drücken
4. In dem linken Fenster (VBA-Projekt) auf die Tabelle doppelt klicken, in der Du den Code eingefügen willst.
5. In dem rechten leeren Fenster die Anweisung mit der Tastenkombination Strg v einfügen
Solltest Du noch Fragen haben, so melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich hätte da auch eine VBA-Lösung für Dich. Kopier nachfolgende Anweisung in das VBA-Projekt Deiner Tabelle.
Option Explicit
Private Sub Worksheet_Activate()
Sheets("Tabelle1").Unprotect Password:="Hier das Blattschutzpassort eintragen"
With Sheets("Tabelle1")
.EnableSelection = xlUnlockedCells
.Protect DrawingObjects:=True
.Protect Contents:=True
.Protect Scenarios:=True
.Protect Password:="Hier das Blattschutzpassort eintragen"
End With
End Sub
Du musst, damit diese Anweisung funktioniert, in Deiner Tabelle dan Blattschutz aktivieren. Vorher musst Du in den Zellen, in die nachher mit der Return-Taste gesprungen werden soll, unter Zelle formatieren in dem Registerblatt "Schutz" den Haken bei Gesperrt entfernen. Dann muss die Anweisung eventuell noch angepasst werden. In der Zeile
Sheets("Tabelle1").Unprotect Password:="Hier das Blattschutzpassort eintragen"
muss, wenn Dein Tabellenblatt einen anderen Namen als Tabelle1 hat, dieser dort geändert werden. Außerdem mus der Text, der in den Anführungsstrichen steht ("Hier das Blattschutzpassort eintragen") gegen Das Passwort, dass Du für den Blattschutz verwendet hast geändert werden. Das selbe muss ebenfalls in der Zeile
.Protect Password:="Hier das Blattschutzpassort eintragen"
und in der Zeile
With Sheets("Tabelle1")
muss der Tabellenblattname eventuell geändert werden.
Da ich nicht weiß, ob Du Dich mit VBA auskennst, hier eine kurze Anleitung wie Du den Code in Dein Tabellenblatt bekommst.
1. Hier den Code in dem blauen Fenster mit der Tastenkombination Strg c kopieren
2. Deine Tabelle öffnen.
3. Tastenkombination Alt F11 drücken
4. In dem linken Fenster (VBA-Projekt) auf die Tabelle doppelt klicken, in der Du den Code eingefügen willst.
5. In dem rechten leeren Fenster die Anweisung mit der Tastenkombination Strg v einfügen
Solltest Du noch Fragen haben, so melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von nighty
hi coros :)
gefaellt mir gut KLASSE :)
gruss nighty
gefaellt mir gut KLASSE :)
gruss nighty
Antwort 5 von coros
Hi nighty,
danke für die Blumen. Deine Lösungen sind auch nicht von schlechten Eltern, nur leider immer etwas lang. Ist aber egal, solange wie es zum Ergebnis führt, spielt Länge keine Rolle.
Hier noch ein kurzer Nachtrag zu dem Code:
Man kann auch mit der Tab-Taste anstelle der Return-Taste die nächste Zelle anspringen.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
danke für die Blumen. Deine Lösungen sind auch nicht von schlechten Eltern, nur leider immer etwas lang. Ist aber egal, solange wie es zum Ergebnis führt, spielt Länge keine Rolle.
Hier noch ein kurzer Nachtrag zu dem Code:
Man kann auch mit der Tab-Taste anstelle der Return-Taste die nächste Zelle anspringen.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 6 von myma
Hallo,
bin echt begeistert, dass ihr Euch so viel Mühe gemacht habt. Danke. Mein Problem ist fast gelöst, nur sollte der Zellenwechsel vorrangig in den Spalten und nicht in den Zeilen stattfinden. Wäre schön, wenn ihr mir dabei nochmal helfen könntet!
Gruß myma
bin echt begeistert, dass ihr Euch so viel Mühe gemacht habt. Danke. Mein Problem ist fast gelöst, nur sollte der Zellenwechsel vorrangig in den Spalten und nicht in den Zeilen stattfinden. Wäre schön, wenn ihr mir dabei nochmal helfen könntet!
Gruß myma
Antwort 7 von myma
Sorry, war mein Fehler: Jetzt funktioniert´s!!
Vielen Dank nochmal für Eure Hilfe.
LG myma
Vielen Dank nochmal für Eure Hilfe.
LG myma
Antwort 8 von coros
Nabend @myma
freut mich, dass wir Dir helfen konnten. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
freut mich, dass wir Dir helfen konnten. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

