Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattschutz

Blattschutz
05.06.2005 22:53:01
Kurt
Ich möchte das Blatt schützen bis auf die Zelle G7 und I7. Das heißt das Eingabefeld ist nur G7 und I7, wenn ich mit der Tabulator Taste weiterklicke darf sich der Cursor nur von G7 direkt auf I7 weiterbewegen. Das Problem ist wenn ich das Blatt schütze kann ich nur in die zwei G7, I7 Zahlen schreiben.
Diese habe ich unter Zellen formatieren Gesperrt Häkchen entfernt. Nur in den anderen drei Zellen, in der ich das Getränk, Personen und den Preis auswähle (Kombinationsfelder,Drehfeld) habe ich ein Problem, wenn ich das Blatt schütze kann ich die Werte nicht mehr verändern!! Wenn ich aber die Zellen formatiere und die Häkchen bei Gesperrt entfernen würde, kann ich wieder mit der Tabulator-Taste in jedes freie Feld rumklicken und das möchte ich nicht. Gibt es eine Möglichkeit dies Problem mit einem Makro zu lösen?
Hier ist das Programm:
https://www.herber.de/bbs/user/23647.xls
Mit freundlichen Grüßen
Kurt

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz
06.06.2005 16:01:18
Kurt
Hallo Jörg, danke schön hat Super funktioniert, könntest du mir noch einigermaßen erklären wie das Makro aufgebaut ist?
Gruß Kurt
AW: Blattschutz
06.06.2005 18:30:41
Jörg
Hallo Kurt,
bin selbst noch nicht so sattelfest in VBA, aber hier mal mit meinen eigenen Worten
Du hast verschiedene Programmteile unter "Diese Arbeitsmappe", "Tabelle1" und "Modul1"

Private Sub Workbook_Open()
Application.ScreenUpdating = False ' Bildschirm nicht aktualisieren
Sheets("Tabelle2").Activate ' Tabelle 2 aktivieren
Sheets("Tabelle1").Activate ' Tabelle 1 aktivieren
Application.ScreenUpdating = True ' Bildschirm aktualisieren hier mußt Du es auf TRUE ändern, mein Fehler.
End Sub

' Beim Öffnen der Arbeitsmappe soll Tabelle1 aktiviert werden,
'das Activate Ereignis wird aber nicht ausgelöst, da Tabelle1 schon aktiviert ist, darum springe ich einmal hin und her.
' um das dabei auftretene Bildschirmflackern zu unterdrücken
' wird die Bildschirmaktualisierung kurzzeitig abgeschaltet.

Private Sub Worksheet_Activate()
' dieses Makro wird ausgeführt, sobald Tabelle1 aktiviert wird
[G7].Select ' wähle Zelle G7 an
Application.OnKey "{TAB}", "Makro1" ' bei Taste TAB Makro1 ausführen
End Sub


Private Sub Worksheet_Deactivate()
' dieses Makro wird ausgeführt, sobald Tabelle1 deaktiviert (verlassen) wird
Application.OnKey "{TAB}"
'TAB Taste zurücksetzen auf Standard (Verbindung zu Makro1 trennen)
End Sub

Option Base 1 'Standard-Untergrenze für Datenfeldindizes auf 1 festlegen.
Dim intIndex As Integer ' Variable dimensionieren
Sub Makro1()
Dim arr 'Datenfeld dimensionieren
intIndex = intIndex + 1 'Indexvariable um 1 erhöhen
arr = Array("I7", "G7") 'Datenfeld mit Werten (Zelladressen) füllen
Range(arr(intIndex)).Select ' Datensatz (Zelladresse) anwählen
If intIndex = 2 Then intIndex = 0 'letzter Datensatz erreicht?, dann von vorne
'(Rücksetzen des Indizes)
End Sub
Gruß Jörg
Anzeige
AW: Blattschutz
06.06.2005 21:24:04
Kurt
Super Jörg, vielen Dank, für die Antworten.
MfG Kurt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige