Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blattschutz via VBA und Zelleingabe via Tabulator

Blattschutz via VBA und Zelleingabe via Tabulator
Thomas
Hallo zusammen,
ich habe über ein Private Sub den Zellschutz für alle Worksheets aktiviert. Danach ist eine Eingabe in den ungeschützten Zellen zwar möglich, der Cursor springt nach der Eingabebestätigung aber immer in die Zelle O2 und muss dann manuell wieder in die nächste Zelle "zurückbewegt" werden. Gibt es eine Möglichkeit wie im Normalmodus nach der Eingabe via Enter automatisch in die Zelle darunter bzw. über Tabulator in die Zelle daneben zu gelangen?
Hier das private sub:

Private Sub Workbook_Open()
'für alle Blätter mit Passwortschutz
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect userinterfaceonly:=True, Password:="test" 'Passwort anpassen
ws.EnableAutoFilter = True 'ermöglicht Autofilter
ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
Next ws
End Sub

Es liegt am Blattschutz, aber wenn ich den manuell rausnehme, springt der Cursor nach wie vor in die Zelle O2. Gibt es eine Möglichkeit Blattschutz via VBA und den normalen Eingabemodus im Sheet zu haben?
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 09:46:22
Rudi
Hallo,
das sieht sehr nach einer zusätzlichen Worksheet_Change-Prozedur aus, die den Cursor auf O2 setzt.
Gruß
Rudi
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 09:48:28
Thomas
Vielen Dank Rudi, wo finde ich dann diese Worksheet_Change_Prozedur, um sie zu entfernen?
Gruß, Thomas
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 09:56:31
Rudi
Hallo,
VBA gut?
Natürlich im Modul des Blatts.
Gruß
Rudi
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 10:06:11
Thomas
Danke, hatte da schon gesucht, aber ich finde dazu nichts (habe außerdem auch keine Worksheet_Change_Prozedur angelegt)
Gruß, Thomas
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 11:42:14
Rudi
Hallo,
nicht nachvollziehbar.
Lad die Mappe hoch.
Gruß
Rudi
AW: Blattschutz via VBA und Zelleingabe via Tabulator
14.07.2011 13:10:33
Thomas
Rudi: das Passwort ist "thomas"
wo ist die Mappe? owT
14.07.2011 13:19:51
Rudi
OT "hier nochmal", hab ich was überlesen? ow.T.
14.07.2011 20:04:13
Reinhard


Die Geister, die ich rief oder ...
14.07.2011 14:14:20
Rudi
Hallo,
... denn sie wissen nicht, was sie tun Part 678 ;-)
Ich sag doch: Ereignisprozedur (Worksheet_Calculate).
Deine Makros im Modul Orderbeleg werden bei jeder Berechnung des Blatts ausgeführt. Und in jedem Makro steht: Range("O2").Select
Was erwartest du also?
Lösch es raus, wenn du es nicht willst.
Außerdem sind die Umbuchung_...-Makros tw. Quatsch. Was soll das, Spalten erst aus- und dann direkt wieder einzublenden?
Gruß
Rudi
AW: Die Geister, die ich rief oder ...
14.07.2011 15:28:12
Thomas
Vielen Dank!
Gibt's evtl. eine Möglichkeit die Ereignisprozedur so aufzulegen, dass sie nicht bei jeder Berechnung ausgeführt wird
Anzeige
AW: Die Geister, die ich rief oder ...
14.07.2011 15:52:17
Rudi
Hallo,
ja sicher.
Wird E2 von Hand geändert?
Dann z.B. so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$2" Then
Select Case Target
Case 1 To 3: Neu_Prolong
Case 4:      Umbuchung_auf_zwei
Case 5:      Umbuchung_auf_drei
Case 6:      Umbuchung_auf_vier
End Select
End If
End Sub

Und die Private Sub Worksheet_Calculate() löschst du!
Gruß
Rudi
AW: Die Geister, die ich rief oder ...
14.07.2011 15:55:50
Thomas
Super Rudi, vielen Dank!
Grüße, Thomas
AW: Die Geister, die ich rief oder ...
14.07.2011 16:15:58
Thomas
Rudi: jetzt habe ich doch noch eine Anmerkung. Über Deine Lösung bin ich ganz am Anfang gestolpert. Die Eingabe in Zelle E2 erfolgt nicht manuell sondern über ein Steuerelement. Ich hab's getestet, bei manueller Eingabe in die Zelle E2 funktioniert Deine Lösung, über das Steuerelement brauche ich dann doch wieder die Worksheet_Calculate Variante...
Gruß, Thomas
Anzeige
AW: Die Geister, die ich rief oder ...
14.07.2011 16:32:23
Rudi
Hallo,
was für ein Steuerelement? Eine Combobox?
Dann nimm die LinkedCell-Eigenschaft raus und schreibe den Wert per Change-Prozedur des stEl in E2. Das bewirkt dann auch ein Worksheet_Change. Ist allerdings von hinten durch die Brust ins Auge. Da kannst du besser sowas machen:
Private Sub ComboBox1_Change()
Select Case ComboBox1
Case 1 To 3: Neu_Prolong
Case 4:      Umbuchung_auf_zwei
Case 5:      Umbuchung_auf_drei
Case 6:      Umbuchung_auf_vier
End Select
End Sub

Und Worksheet_Change löschen.
Gruß
Rudi
AW: Die Geister, die ich rief oder ...
14.07.2011 17:46:42
Thomas
Hallo, es ist eine ComboBox. Letzte Frage: wie geht das mit der Change-Prozedur, die Werte in E2 zu schreiben?
Gruß, Thomas
Anzeige

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige