Hallo Excel Forum Mitglieder, ich habe eine Excel-Tabelle (Microsoft Excel 2010) angelegt, in der in 12 Monaten (je Monat ein Blatt) die Arbeitsstunden von Mitarbeitern erfasst werden. Nun möchte ich bei der Eingabe der geleisteten Arbeitsstunden mit der Tabulatortaste von Feld zu Feld springen. Diese Felder sind ungeschützt, während alle anderen Feldern geschützt sind. Auch das Blatt ist geschützt. Das klappt aber nicht mehr so, wenn ich die Datei geschlossen und anschließend wieder geöffnet habe. In diesem Fall werden nur noch einige wenige Felder angesprungen. Was kann ich tun, damit auch nach dem Öffnen alle Felder in einer bestimmten Reihenfolge angesprungen werden? Die Felder für die Reihenfolge sind nachstehend: "C7,I7,O7, C10, D12,E12,F12,G12,H12,I12,J12,K12,L12,M12,N12,O12,P12,Q12,R12,C16,D16,E16,F16,G16,H16,I16,J16,K16,L16,M16,N16,O16,P16,Q16,R16,C20,G20,K20,C25,C26,C27,C28“. Für Eure Hilfe bedanke ich mich im Voraus Gruß Jochem
Stell bitte eine Beispielmappe ein. Du kannst eine Kopie Deiner Datei nehmen, die besagten Zellen mit Hintergrundfarbe kenntlich machen und alle Daten raus löschen und hier einstellen.
Wenn VBA eingesetzt wird, dann Code drin lassen.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28 • Jochem
07.05.2017, 16:40 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2017, 09:23 von Rabe.
Bearbeitungsgrund: hochgeladene Datei nur ein Mal im Beitrag
)
(07.05.2017, 15:57)atilla schrieb: Hallo,
sind Makros im Einsatz?
Stell bitte eine Beispielmappe ein. Du kannst eine Kopie Deiner Datei nehmen, die besagten Zellen mit Hintergrundfarbe kenntlich machen und alle Daten raus löschen und hier einstellen.
Wenn VBA eingesetzt wird, dann Code drin lassen.
Hallo atilla, sind Makros im Einsatz? Ja, siehe VGA Datei ist beigefügt (siehe unten) (hoffentlich richtig! VGA öffnen mit "ghjk" Entsprechende Zellen gelb unterlegt und mit rotem Rand
Wo ist der Code im Modul Blattschutz? Dann müsste noch in DieseArbeitsmappe ein Workbook_Open Ereignis sein, dass den Schutz beim Öffnen der Datei unter Umständen neu setzt.
Theoretisch müssen die Blätter nur geschützt sein. Ob Du es manuell machst oder per Code, das musst du entscheiden.
Wo ist der Code im Modul Blattschutz? Dann müsste noch in DieseArbeitsmappe ein Workbook_Open Ereignis sein, dass den Schutz beim Öffnen der Datei unter Umständen neu setzt.
Theoretisch müssen die Blätter nur geschützt sein. Ob Du es manuell machst oder per Code, das musst du entscheiden.
Hallo Atilla, ich bin nicht so versiert. ich habe bisher normal Blattschutz mit "spps" eingegeben. Ich bin nicht in der Lage einen entsprechenden VBA Code zu schreiben. Ich wäre Dir sehr dankbar, wenn Du es machen würdest. Im übrigen, wenn im Monat Januar alles klappt, werde ich die folgenden Monate entsprechend einrichten. Auf diesem schonmal voraus vielen Dank für Deine Mühe! Gruß Jochem
wenn Du den Blattschutz manuell setzt und dann die Tabulatur Taste nutzt, ist das dann so, wie Du es dir vorstellst?
Der Code ist kein Aufwand, wenn Du die obige Frage beantwortet hast.
Hallo Atilla, das ist ja mein Thema: ich habe bisher Blattschutz manuell eingesetzt und dann die Tabulatur Taste benutzt. Aber dieses klappt aber nicht so. Wenn ich die Datei geschlossen und anschließend wieder geöffnet habe. In diesem Fall werden nur noch einige wenige Felder angesprungen. Wenn Du es so einrichtest, dass es doch klappt dann würde es mir reichen.
Wenn es Dir aber nichts ausmacht, dann mache mir doch bitte eine zweite Version "mit VBA-Code". Ich wäre Dir sehr Dankbar!
07.05.2017, 17:42 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2017, 17:43 von atilla.)
Hallo Jochem,
die Datei ist wahrscheinlich von dir verändert worden.
1. es gibt ein Modul, welches Blattschutz heißt. Da stand bestimmt Code zum setzen und aufheben des Schutzes drin.
Da wieder folgenden Code einfügen:
Code:
Sub Blatt_Schutz_setzen()
Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect Next End Sub
dann ins Modul DieseArbeitsmappe zusätzlich zu dem dort stehenden Code folgendes:
Code:
Private Sub Workbook_Open() Call Blatt_Schutz_setzen End Sub
Dann werden immer beim Öffnen der Datei alle Blätter geschützt.
2. die Tabelle Januar unterscheidet sich von den anderen. Wegen der Verbundenen Zellen funktioniert das da mit der Tab Taste nicht. Warum ist die anders? wenn Du die gleiche Funktionalität haben möchtest, wie in den anderen Blättern, dann muss etwas aufwendiger programmiert werden. Dann musst Du hier noch einmal nachfragen, ich habe dafür keine Zeit bzw. wenig Lust.
3. Du hast in manchen Tabellen neben den Eingabezellen noch andere Zellen, die nicht gesperrt sind, die musst Du vor dem setzen des Balttschutzses sperren. (Bei Zellen formatieren, Reiter Schutz)
Und hier noch ein Code, um alle Blätter zu entsperren:
Code:
Sub Blatt_Schutz_aufheben()
Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Unprotect Next End Sub
Diese auch in das Modul Blattschutz einfügen.
Beide Codes können dann von Dir auch manuell oder per Schaltfläche gestartet werden.
07.05.2017, 17:56 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2017, 19:46 von Zwergel.
Bearbeitungsgrund: unnützes Zitat entfernt
)
Hallo Attilla, ich habe eine Einladung und kann jetzt in diesem Thema nicht weitermachen. Ich melde mich später! Zunächst aber vielen Dank für Deine schnelle Hilfe gruß Jochem
(07.05.2017, 17:56)Jochem schrieb: Hallo Attilla, ich habe eine Einladung und kann jetzt in diesem Thema nicht weitermachen. Ich melde mich später! Zunächst aber vielen Dank für Deine schnelle Hilfe gruß Jochem
Hallo Atilla, anhängend die fertige Datei (Januar bis Dezember und zusammen).
Der Cursor ist von Januar bis Dezember auf Feld „D12“ und bei „zusammen“ auf Feld „I10“ gestellt. Das ist soweit OK.
Nur die gelben Felder mit rotem Rand sind oder sollen ungeschützte Eingabefelder sein. Alle anderen Felder sind oder sollen geschützt sein.
Bei der Eingabe der geleisteten Arbeitsstunden in den gelben Feldern mit rotem Rand sollte der Cursor mit der Tabulatortaste von Feld „D12“ ausgehend in der Reihe 12 durchlaufen und weiter in der Reihe 16 bis zum Feld “R16“ und dann wieder in Feld „D12“ in Reihe 12 springen. In der anhängenden Datei springt der Cursor von Feld „R16“ weiter in Feld „C20“ und so weiter anstatt in Feld „D12“.
Die übrigen Eingabefelder im Januar und im Blatt „zusammen“ werden mit der Maus angesteuert.