Zellen nach Entertaste überspringen?

Hallo, hier eine Frag für die echten Profis:

Ich habe eine Tabelle, in der abwechselnd Eingabezellen (für einzugebende Werte) und Ausgabezellen (mit errechneten Ergebnissen) vorkommen. Damit die Eingabe möglichst komfortabel vonstatten geht, möchte ich, daß nach Drücken der Entertaste gleich zur nächsten Eingabezelle gesprungen wird, etwaige Ausgabezellen sollen übersprungen werden.

Normalerweise würde ich die Ausgabezellen und das Blatt einfach sperren, was den Zweck soweit auch erfüllt. In meiner Tabelle jedoch sollen zudem auch unterschiedliche Bereiche für unterschiedliche Nutzer freigegeben werden, was voraussetzt, daß komplett alle Zellen gesperrt sind.

Gibt es also eine grundsätzliche Möglichkeit, von einer Zelle zu einer bestimmten anderen Zelle zu springen?

Danke und Grüße
Hanno

P. S.:
Die „Benutzerberechtigungen“ haben einen schweren Bug: Das Auswahlhäkchen „Bearbeiten verweigern“ bewirkt dasselbe wie „Bearbeiten zulassen“!!!

Hi Hanno,

Ich habe eine Tabelle, in der abwechselnd Eingabezellen (für
einzugebende Werte) und Ausgabezellen (mit errechneten
Ergebnissen) vorkommen. Damit die Eingabe möglichst
komfortabel vonstatten geht, möchte ich, daß nach Drücken der
Entertaste gleich zur nächsten Eingabezelle gesprungen wird,
etwaige Ausgabezellen sollen übersprungen werden.

Wohin geht der Cursor nach Enter, nach rechts, unten, …?

Normalerweise würde ich die Ausgabezellen und das Blatt
einfach sperren, was den Zweck soweit auch erfüllt. In meiner
Tabelle jedoch sollen zudem auch unterschiedliche Bereiche für
unterschiedliche Nutzer freigegeben werden, was voraussetzt,
daß komplett alle Zellen gesperrt sind.

Kapier ich nicht wieso du da alle Zellen sperrst, wie willst du da was eingeben?

Gibt es also eine grundsätzliche Möglichkeit, von einer Zelle
zu einer bestimmten anderen Zelle zu springen?

Ja, in Excel-Vba kann man verschiedene Ereignisse auswerten, und jeder Zellenwechsel löst ein Selection_Change-Ereignis aus.
Durch das Ereignis kann man automatisch ein Makro starten lassen indem dann der Cursor den Befehl erhält x Zellen nach rechts zugehen und wenn die letzte Eingabesoalte erreicht ist soll der Cursor eine Zeile tiefer in Spalte A gehen.

P. S.:
Die „Benutzerberechtigungen“ haben einen schweren Bug: Das
Auswahlhäkchen „Bearbeiten verweigern“ bewirkt dasselbe wie
„Bearbeiten zulassen“!!!

Wo finde ich denn die, bzw. welche Excelversion hat das?
Gruß
Reinhard

Hallo,
wenn du EXCEL 2002 verwendest dann vielleicht so:

Markiere alle Zellen, die ausgefüllt werden dürfen.

Gehe auf FORMAT_ZELLEN_SCHUTZ und entferne den Haken bei GESPERRT

Gehe dann auf EXTRAS_SCHUTZ_BLATT SCHÜTZEN

nimm den Haken bei GESPERRTE ZELLEN AUSWÄHLEN

dadurch hat der User nur noch Zugriff auf die wirklich freigegebenen Zellen und durch ENTER gelangt er von einer zur anderen Zelle.

Viel Erfolg
Frank

VBA-Lösung
Hallo Reinhard,

Ich habe eine Tabelle, in der abwechselnd Eingabezellen (für
einzugebende Werte) und Ausgabezellen (mit errechneten
Ergebnissen) vorkommen. Damit die Eingabe möglichst
komfortabel vonstatten geht, möchte ich, daß nach Drücken der
Entertaste gleich zur nächsten Eingabezelle gesprungen wird,
etwaige Ausgabezellen sollen übersprungen werden.

Wohin geht der Cursor nach Enter, nach rechts, unten, …?

Je nachdem, was ich unter Optionen einstelle. Die nächste einzugebende Zelle befindet sich in meiner Tabelle meist rechts, am Ende der Zeile natürlich unten links…

Normalerweise würde ich die Ausgabezellen und das Blatt
einfach sperren, was den Zweck soweit auch erfüllt. In meiner
Tabelle jedoch sollen zudem auch unterschiedliche Bereiche für
unterschiedliche Nutzer freigegeben werden, was voraussetzt,
daß komplett alle Zellen gesperrt sind.

Kapier ich nicht wieso du da alle Zellen sperrst, wie willst
du da was eingeben?

Ganz einfach: Nur wenn ich alle Zellen sperre, kann ich über Benutzerberechtigungen partielle Freigaben für alle Zellen erteilen.

Gibt es also eine grundsätzliche Möglichkeit, von einer Zelle
zu einer bestimmten anderen Zelle zu springen?

Ja, in Excel-Vba kann man verschiedene Ereignisse auswerten,
und jeder Zellenwechsel löst ein Selection_Change-Ereignis
aus.
Durch das Ereignis kann man automatisch ein Makro starten
lassen indem dann der Cursor den Befehl erhält x Zellen nach
rechts zugehen und wenn die letzte Eingabesoalte erreicht ist
soll der Cursor eine Zeile tiefer in Spalte A gehen.

Okay, ich werde mal versuchen, ob das stabil läuft.

P. S.:
Die „Benutzerberechtigungen“ haben einen schweren Bug: Das
Auswahlhäkchen „Bearbeiten verweigern“ bewirkt dasselbe wie
„Bearbeiten zulassen“!!!

Wo finde ich denn die, bzw. welche Excelversion hat das?

Das findest Du unter „Extras -> Schutz -> Benutzer dürfen Bereiche bearbeiten…“ (Excel 2002)

Falsche Lösung (Frageposting nicht gelesen)
Hallo Frank,

wenn du EXCEL 2002 verwendest…

…tu ich.

dann vielleicht so:

Markiere alle Zellen, die ausgefüllt werden dürfen.

Gehe auf FORMAT_ZELLEN_SCHUTZ und entferne den Haken bei
GESPERRT

Gehe dann auf EXTRAS_SCHUTZ_BLATT SCHÜTZEN

nimm den Haken bei GESPERRTE ZELLEN AUSWÄHLEN

dadurch hat der User nur noch Zugriff auf die wirklich
freigegebenen Zellen und durch ENTER gelangt er von einer zur
anderen Zelle.

Naja, hättest Du mein Posting aufmerksam gelesen, wüßtest Du, warum ich das nicht tun kann. Dort steht nämlich:

„Normalerweise würde ich die Ausgabezellen und das Blatt einfach sperren, was den Zweck soweit auch erfüllt. In meiner Tabelle jedoch sollen zudem auch unterschiedliche Bereiche für unterschiedliche Nutzer freigegeben werden, was voraussetzt, daß komplett alle Zellen gesperrt sind.“

Trotzdem Danke
Hanno

Hallo Hanno,

ohh, war ich unaufmerksam ;-(

Du schreibst doch selbst, das durch den BUG die Möglichkeit verbaut wird (zumindest habe ich es so verstanden)

Daher mein anderer Lösungsansatz.

Das nächste mal werde ich natürlich genauer lesen, tut mir leid …

Na, dann viel Spaß noch
Frank

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi hanno,

Wohin geht der Cursor nach Enter, nach rechts, unten, …?

Je nachdem, was ich unter Optionen einstelle.

*gg* Genau dieses wollte ich wissen, also was du eingestellt hast.

Die nächste einzugebende Zelle befindet sich in meiner Tabelle meist
rechts, am Ende der Zeile natürlich unten links…

Also anzunehmenderweise ist die Einstellung „nach rechts“.

Kapier ich nicht wieso du da alle Zellen sperrst, wie willst
du da was eingeben?

Ganz einfach: Nur wenn ich alle Zellen sperre, kann ich über
Benutzerberechtigungen partielle Freigaben für alle Zellen
erteilen.

Aha, so ist das. Ich benutze nahezu nur XL97 damit evtl. Vba-Code in allen Versionen läuft.

Ja, in Excel-Vba kann man verschiedene Ereignisse auswerten,
und jeder Zellenwechsel löst ein Selection_Change-Ereignis
aus.
Durch das Ereignis kann man automatisch ein Makro starten
lassen indem dann der Cursor den Befehl erhält x Zellen nach
rechts zugehen und wenn die letzte Eingabesoalte erreicht ist
soll der Cursor eine Zeile tiefer in Spalte A gehen.

Okay, ich werde mal versuchen, ob das stabil läuft.

Ich habe hier kein Vba.
Drücke mal Alt+F11, im Editor Doppelklick auf den Blattnamen, z.B. Tabelle1. n dem mittleren Auswahlfeld wählst du „Worksheet“ aus, dann erscheint automatisch die Hülle des Ereignismakros Worsheet_SelectionChange.
In diese Hülle schreibst du etwas wie:

application.enableevents=false
If Target.columns \>20 then 
 target.offset(1,-20).select
 application.enableevents=true
 exit sub
End If
Target.offset(0,1).select
application.enableevents=true

In der If-Schleife Zeile wird gesagt, wenn man in eine Spalte größer 20 (A=1,B=2,usw) gelangte soll die Zelle die 20 Spalten links davon und eine Zelle untendrunter ist ausgewählt werden und das Makro verlassen werden.
Falls dem nicht so ist, soll eine Zelle rechts vom Standpunkt gewählt werden.
Den Code mußt du dir noch anpassen und ggfs noch eine andre If-Schleife unter oder oberhalb der If-Schleife einbauen damit du evtl. einige Zellen anwählen kannst ohne das was passiert.

Wo finde ich denn die, bzw. welche Excelversion hat das?

Das findest Du unter „Extras -> Schutz -> Benutzer
dürfen Bereiche bearbeiten…“ (Excel 2002)

Danke für die Info.
Gruß
Reinhard

Hi hanno,

bist du noch daran interessiert, wie in einer Mappe verschiedene Bereiche mit individuellen Kennwörten geschützt werden können, so dass verschiedene User nur bestimmte Bereiche in dieser Mappe bearbeiten können?

Meld dich dann bitte noch mal.

Gruß
Marion