Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nur bestimmte Zellbereich aktivierbar

Nur bestimmte Zellbereich aktivierbar
09.12.2005 17:49:23
Horst
Wer kann mir helfen?
In eiber Arbeitsmappe mit 3 Tabellenblättern sollen nur die Bereiche C4:G20 und C30:G60 aktiviert werden können. Das ganze soll nicht konventuionell über EXTRAS - Schutz - Tabellenblatt, sondern über einen Code passieren. Der gesperrte Zellbereich soll nicht anklickbar sein und die Zeilen 1 bis 4 müssen weiter innerhalb des Scrollbereiches liegen, weil in diesen Zeilen gesperrter Festtext eingegeben wird.
Für einen guten Tipp darf ich mich im Voraus bedanken.
Mit freundlichen Grüßen
Horst

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmte Zellbereich aktivierbar
09.12.2005 22:25:33
Horst
Hallo Herbert,
Dein Vorschlag bringt die Lösung. Doch da ich Neuling im VBA bin, kann ich den Code - in dieser Arbeitsmappe - nicht umsetzen für eine andere gewählte Variante. Ich erkenne die Variablen nicht. Wie muss ich vorgehen? Auch Beate ist nah dran, nur dass hier die Zeilen 1 bis 3 nicht gesperrt sind, sie sollten es aber! Was muss ich beachten?
Mit freundlichen Grüßen
Horst
AW: Nur bestimmte Zellbereich aktivierbar
09.12.2005 22:43:43
Herbert
hallo Horst,
da mußt du beschreiben,welche Variante...
wenn du den Code von Beate verwendest,
brauchst du nur diese Zeile ändern:
.Rows("1:3").Locked = True
gruß Herbert
Anzeige
AW: Meine Anfrage
10.12.2005 08:37:26
Horst
Hallo Herbert,
vielen Dank für Deine Anwort. Eigentlich hatte ich deutlich gemacht, dass Dein Vorschlag die Sofortlösung brachte, dass ich aber den Code nicht verstand und damit nicht für einen anderen Fall umsetzen konnte. Eine Antwort hatte ich daher auch mit Sicht auf Deinen Code erwartet. Beates Code verstehe ich, ich kann ihn variabel umsetzen, bisher nur für TB1. Für TB2 bis 8 funktioniert das nicht. Sicher wird sie mir schreiben, was ich falsch gemacht habe.
Mit freundlichen Grüßen
Horst
AW: Meine Anfrage
10.12.2005 12:14:04
Herbert
hallo Horst,
ich habe deswegen diese Lösung gewählt,weil ich mit einer Schleife
im Open_Ereignis im Selektierbaren Bereich in der dritten Tabelle
unerklärlicherweise nicht in die Zellen klicken konnte...
ich bin aber heute draufgekommen,daß das andere Gründe hatte...
warum es bei weiteren Blättern nicht funktioniert hatte,lag daran,
daß du manuell im Selektierbaren Bereich den Zellschutz hättest
enfernen müssen...beim Code von Beate wird das im Code ausgeführt...
ich wollte im Code nur das Ausführen,was unbedingt nötig ist,
obwohl ich den Blattschutz schon auch dazugenommen hatte...
unbedingt nötig ist diese Zeile:
.EnableSelection = xlUnlockedCells
den diese Einstellung wird nicht gespeichert...
gruß Herbert
Anzeige
AW: Meine Anfrage
10.12.2005 14:27:49
Horst
Hallo Herbert,
vielen Dank für die Hintergrundinformation.
MfG
Horst
AW: Nur bestimmte Zellbereiche aktivierbar
09.12.2005 20:30:51
Beate
Hallo Horst,
füge dieses Makro ins Codefenster "dieseArbeitsmappe" ein:
Private Sub Workbook_Open()
    Dim intIndex As Integer
    For intIndex = 1 To 3
        With Sheets("Tabelle" & CStr(intIndex))
            .Unprotect
            Cells.Locked = True
            Rows("1:4").Locked = False
            Range("C4:G20,C30:G60").Locked = False
            .EnableSelection = xlUnlockedCells ' nur ungesperrte Zellen
            .Protect Contents:=True, UserInterfaceOnly:=True ' = Makros nicht geschützt
        End With
    Next
End Sub



Damit sind nach dem nächsten Dateistart in den Tabellen 1:3 ab dem nächsten Dateistart nur die gewünschten Bereiche selektierbar.
Gruß,
Beate
Anzeige
AW: Nur bestimmte Zellbereiche aktivierbar
09.12.2005 20:36:48
Hajo_Zi
Hallo Beate,
fehlen da nicht paar Punkte
.Cells.Locked = True
.Rows("1:4").Locked = False
.Range("C4:G20,C30:G60").Locked = False


@ Hajo
09.12.2005 20:42:43
Beate
Ich hatte meinen Vorschlag gestestet. Und es lief.
Deins fand ich von der Logik ok und optisch klarer und habe meins durch deins mal testweise ersetzt. Erstaunlicherweise geht das nicht. Ich komme überall hin. Excel 2002 Sp2. Du kannst gerne gegentesten. Würde mich interessieren, wie das bei dir ist.
Gruß,
Beate
AW: @ Hajo
09.12.2005 20:56:15
Hajo_Zi
Hallo Beate,
ich habe bei diesem Beitrag keine Antwort gegeben.
Ohne Punkt bezieht sich der Code doch aufd die aktuelle Tabelle und nicht auf 1, 2 oder 3
Gruß Hajo
Anzeige
Da hat Hajo recht, Beate! Gruß owT
09.12.2005 21:56:48
Luc:-?
...;-?
ohne Punkt geht nichts...
09.12.2005 22:21:54
Herbert
hallo Beate,
habe es mit E-2000 und mit XP getestet...
ohne Punkt wird nur die aktive Tabelle angesprochen...
gruß Herbert
AW: Alles OK! Was ist mit den Zeilen 1 bis3?
09.12.2005 22:33:24
Horst
Hallo Beate!
Danke für Deinen Vorschlag, doch die Zeilen 1 bis 3 müssten auch gesperrt werden. Vielleicht kannst Du nochmals grübeln?
Mit freundlichen Grüßen
Horst
Zeilen 1 bis3
09.12.2005 23:40:22
Beate
Hallo Horst,
bisher hatte ich dich so verstanden, dass du die Zeilen 1:4 komplett aktivieren können möchtest. Wenn doch nicht, dann lösche einfach diese Zeile im Code:
.Rows("1:4").Locked = False
Gruß,
Beate
Besorgt?! Du excelst zuviel, Beate! - Gruß owT
10.12.2005 00:45:35
Luc:-?
<<;-?
AW: Zeilen 1 bis3 Ok, aber nur für TB1
10.12.2005 08:13:42
Horst
Hallo Beate,
die Sache funktioniert, leider nur für TB1. TB2 bis 8 Pustekuchen.Wo liegt der Fehler? Habe die Datei mal hoch geladen
Gruß
Horst
https://www.herber.de/bbs/user/29092.xls
Anzeige
AW: Zeilen 1 bis3 Ok, aber nur für TB1
10.12.2005 09:03:15
Beate
Hallo Horst,
mit den Punkten geht's:
Private Sub Workbook_Open()
    Dim intIndex As Integer
    For intIndex = 1 To 8
        With Sheets("Tabelle" & CStr(intIndex))
            .Unprotect
            .Cells.Locked = True
            .Range("C4:G20,C30:G60,C70:G80").Locked = False
            .EnableSelection = xlUnlockedCells ' nur ungesperrte Zellen
            .Protect Contents:=True, UserInterfaceOnly:=True ' = Makros nicht geschützt
        End With
    Next
End Sub


Gruß,
Beate
Anzeige
For intIndex = 1 To 8
10.12.2005 14:25:16
Horst
Hallo Beate,
ich bedanke mich für den Hinweis, es fuktioniert alles einwandfrei. Für einen praktischen Anwendungsfall noch eine abschließende Frage zu
For intIndex = 1 To 8
Mein Register weist 12 Blätter mit den Bezeichnungen Januar,Februar......Dezember auf. Im Code sind das die Bezeichnungen in der Klammer, aber nicht chronologisch von 1 bis 12. Hinzu kommen noch 1 Deckblatt und 2 Bereichnungsblätter, die von dem Code nicht erfasst werden sollen. Wie muss hier die Passage
For intIndex =.........?
lauten?
Gruß
Horst
@ all
09.12.2005 23:32:25
Beate
Ich habe mein Excel mal neu gestartet - jetzt zieht es richtig: Mit Punkten!
Hatte mich ja auch gewundert...
Schönes Wochenende,
Beate
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige