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

Tabellenblätter sperren

Tabellenblätter sperren
30.05.2007 13:55:24
uli
Hallo,
Ich hoffe ihr könnt mir bei folgendem Problem helfen.
Ich würde gerne einige Arbeitsblätter in meiner Mappe sperren, so dass diese nur durch Passworteingabe eingesehen werden können. Da aber viele Makros auf diese gesperrten Blätter zugreifen, muß die select-Methode (z.B.: Sheets(2).select) noch funktionieren. ist das möglich?
Bei meinem Problem geht es um einen Fragebogen, der in Tabelle 1 ausgefüllt wird. In Tabelle 2 stehen die Lösungen. Diese sollen natürlich nicht einsehbar sein. Makros übertragen dann die Antworten des Getesteten. Des Weiteren werden auch noch die Daten früherer Kandidaten gespeichert, so dass ein "Administrator" mit Passworteingabe auf das Tabellenblatt 2 zugreifen muß.
Hoffe ich habe mich verständlich ausgedrückt.
Gruß
Uli

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter sperren
30.05.2007 14:00:00
Rudi
Hallo,

z.B.: Sheets(2).select


vollkommen überflüssig und nicht möglich! Referenziere die Blätter direkt.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Tabellenblätter sperren
30.05.2007 14:05:02
mumpel
Hallo!
Select funktioniert immer, solange Du nicht in eine gesperrte Zelle schreiben möchtest. Musst Du in eine gesperrte Zelle schreiben, dann hebe den Blattschutz temporär auf, zum Beispiel
Sheets("Tabelle2").Unprotect "DeinPassowrt"
Code
Sheets("Tabelle2") .Protect "DeinPasswort".
Im Übrigen solltest Du auf Select und Activate verzichten, das ist in den meisten Fällen unnötig. Zum Kopieren kannst Du z.B. diesen Code verwenden. Wenn Du in Tabelle eins bist und A1 nach Tabelle2 Zelle B3 kopieren möchtest, dann so:
Range("A1"). Copy Sheets("Tabelle2").Range("B3")
Gruß, Rene

Anzeige
AW: Tabellenblätter sperren
30.05.2007 14:17:00
Rudi
Hallo,
er kann aber kein ausgeblendetes Sheet selecten.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Tabellenblätter sperren
30.05.2007 14:35:00
uli
Hallo Rene,
Dir und auch Rudi erstmal vielen Dank für eure Hilfe.
Problem ist ja, dass der Inhalt von Tabellenblatt 2 nicht sichtbar sein soll. Ich habe es mal mit Ausblenden versucht, dann funktioniert allerdings select nicht mehr. Ich könnte es allerdings auch am Anfang des Makros einblenden lassen und nachher wieder ausblenden, nur finde ich das ein wenig unkomfortabel. Die ganzen Select-Zeilen umschreiben wäre zu viel Arbeit. Die Makros sind inzwischen zusammmen mehrere Tausend Zeilen lang (und select war bis jetzt mein Lieblingsbefehl :) ). Des Weiteren kann man Ausgeblendete Blätter ja auch manuell wieder einblenden. Daher wäre ein Schutz des ganzen Blattes mit einem Passwort perfekt (zusammen mit dem Aufheben des SChutzes am Anfang und Ende vom Makro)
Weißt du / jemand, wie man ganze Blätter mit einem Passwort schützen kann, so dass sie nicht eingesehen werden können?
Ich habe inzwischen auch eine Befehlszeile gefunden (noch nicht ausprobiert), die den Blattschutz für Makros aufhebt, für Anwender allerdings aufrecht erhält. Von der Auswirkung also ähnlich deiner.
(Muss in das Klassenmodul 'DieseArbeitsmappe').

Private Sub Workbook_Open()
Worksheets("Tabelle1").Protect Password:="Dein Kennwort", UserInterfaceOnly:=True
End Sub


Gruß Uli
P.S.: wieso ist der erste Teil meines Posts eigentlich rot?

Anzeige
AW: Tabellenblätter sperren
30.05.2007 15:00:00
mumpel
Dein Post ist rot, weil Du der Urheber bist. Wurde so programmiert. Du kannst ein Blatt auch verstecken und trotzdem darauf zugreifen. xlVeryHidden versteckt das Blatt so, das man es nicht über das Menü einblenden kann. Zugreifen kannst Du aber trotzdem auf die Daten versteckter Blätter, siehe Beispiel in meiner ersten Antwort. Zum Schutz eines Blattes siehe Archiv. Dort gibt es massenhaft Beispiele.
Sheets("Tabelle2").Visible = xlVeryHidden

AW: Tabellenblätter sperren
30.05.2007 15:25:00
uli
Da ich in diesem Makro noch nicht auf die select-Anweisung verzichten will (in meinen zukünftigen werde ich es auf jeden Fall), werde ich die Blätter very verstecken :) und vor dem Ausführen des Makros die Blätter wieder einblenden und am Ende wieder ausblenden.
Des Weitern werde ich einen Administrator-Button einbauen, der alle Blätter einblendet. Beim Schließen von Excel werden dann wieder alle Blätter automatisch ausgeblendet.
Beim Start von Excel hat der Administrator die Möglichkeit sich sofort anzumelden. Falsches Passwort oder Drücken auf "Nein, bin isch net" verdeckt die Blätter wieder.
Ich denke so bin ich auf der sicheren Seite und hab alles doppelt und dreifach abgesichert. Ist mit Sicherheit nicht die beste, geschickteste und schnellste Möglichkeit, aber meinen VBA-Kenntnissen entsprechend.
Die Makros werden natürlich auch mit einem Passwort belegt.
Ich danke euch beiden nochmal für eure Mühen und auch hilfreichen Tipps.
Gruß
Uli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige