Hallo Experten,
ich habe eine Tabelle mit Passwortabfrage kreirt.
wenn ich auf die Autoform klicke, startet es das Passwort-Makro und ich kann ein Passwort eingeben. Ist dies richtig blendet es ein weiteres Tabellenblatt ein. Nun verlasse ich dieses wieder, und es wird wieder ausgeblendet (Worksheet_Deactivate()).
So funktioniert es wunderbar.
Nun habe ich bis am Schluss 200 Tabellenblätter.
Wenn die Arbeitsmappe geöffnet wird, soll nur das Blatt mit der Passwortabfrage offen sein, nach eingeben des richtigen Passwortes muss dieses ausgeblendet und alle anderen eingeblendet werden.
wenn ich nun ein makro (z.b) „Sicherheit“ aktiviere, sollten wiederum alle ausgeblendet werden und das Blatt mit der Abfrage müsste dann wieder zu sehen sein…
Ist dies in dieser Art realisierbar?
habe meine Datei zum Download bereitgestellt unter:
http://www.haenggi.li/Passwortabfrage.zip
Das Passwort lautet: „test“
Hi Sascha,
verstehe ich das richtig, du willst dass jemand ohne das Passwort nur eine belanglose Startseite mit der Aufforderung zur Passworteingabe sieht und nur wenn er das Passwort korrekt eingibt ist diese Startseite weg und er sieht die Datenseiten?
Dafür hat jmd schon vba-Code geschrieben.
Sag Bescheid wenn ich den Link raussuchen soll, mir fällt grad nur der Vorname ein aber in seinem Hp-Link steht sein Nachname, da müßte ich drüber nachgrübeln um den Link wieder auszukramen.
Gruß
Reinhard
Hallo Reinhard.
Ja genauso sollte es sein wie Du es beschrieben hast. wäre nett wenn Du den Beitrag finden könntest. Bin auch schon auf der suche, bisher vergebens…
Hallo Reinhard.
Ja genauso sollte es sein wie Du es beschrieben hast. wäre
nett wenn Du den Beitrag finden könntest. Bin auch schon auf
der suche, bisher vergebens…
Hi Sascha,
schlechte Nachricht, anscheinend gibt es die Seite nicht mehr.
Siehe hier :
http://www.google.de/search?hl=de&q=ziplies&btnG=Goo…
Man kann sie nicht mehr anklicken, zumindest die nachfolgenden Seiten nicht mehr.
Und da stand unter "vba-beispiel "genau deine Lösung.
Ich habe seinerzeit den Code überflogen und auch ohne desen kenntnis kriege ich das hin, aber warum das Rad neu erfinden, ich weiss, da sind 991 Antworten. Check die mal, wenn du da nix findest , schreibe ich evtl. den Code, bin grad sehr müde wenn ich dran denk dies zu tun, obwohl, schwierig oder lang isser nicht.
Aber da dies Problem nicht unbekannt ist, hat vielleicht jmd hier den Code zur Lösung schon fertig.
Gruß
Reinhard
Hallo Reinhard,
vielen lieben Dank schon mal. werde das ganze mal durchsehen und auch weiterhin im Web suchen…
Danke für den Tip. Vielleicht kann ich Ihn ja mal anschreiben wenn ich eine Adresse finde.
Schönen Sonntag Abend wünsche ich Dir
Gruss Sascha
Hallo Reinhard,
bis Du Reinhard deine Sache fertig hast, zeig ich ihm nochmal so einige kniffe, wie er seine Tabellenblätter erfolgreich verstecken tut 
Da hab ich eine Diskussion gefunden.
http://www.supportnet.de/fresh/2005/5/id1061770.asp
Guten morgen,
Vielen Dank für den Beitrag, echt interessant…
Im grossen und ganzen ist das schon das was ich suche, nur ist das Problem dass ich 200 Blätter habe, ansonsten wäre es ja kein Problem das ganze mit diesem Code zu realisieren:
Sheets("Datenblatt1").Visible = False
Sheets("Datenblatt2").Visible = False
Sheets("Datenblatt3").Visible = False
Klar kann ich diese Zeilen um 200 erweitern und alles numerieren, aber…
) hoffe ihr versteht mich.
bräuchte eigentlich einen code der besagt dass ALLE Blätter ausgeblendet werden und am schluss kann ich noch eine zeile für das sichtbare blatt einfügen.
Sheets("Willkommen").Visible = True
Hi Sascha,
die Datei
http://rapidshare.de/files/33526670/NurDatenSichtbar…
hat nachfolgenden Code, probiere sie mal aus. Anpassen muss ich noch das .Save, sonst scheint sie zu laufen.
in „DieseArbeitsmappe“:
Option Explicit
Private Sub Workbook\_BeforeClose(Cancel As Boolean)
Call Beenden
End Sub
Private Sub Workbook\_Open()
Dim Eingabe
With Worksheets("Tabelle3")
.Unprotect "xyz"
.UsedRange.Clear
.Protect "xyz"
End With
Eingabe = InputBox("Bitte Passwort eingeben: ")
If Eingabe = "xyz" Then
Call Starten
Exit Sub
End If
ThisWorkbook.Save
Call Beenden
End Sub
In ein Modul:
Option Explicit
Sub Starten()
Dim Ws As Worksheet, N As Integer, Vorhanden As Boolean
With ThisWorkbook
For N = 1 To .CustomDocumentProperties.Count
If .CustomDocumentProperties(N).Name = "LetztesAktivesBlatt" Then Vorhanden = True
Next N
If Vorhanden = False Then
.CustomDocumentProperties.Add Name:="LetztesAktivesBlatt", Type:=msoPropertyTypeString, LinkToContent:=False, Value:=.Worksheets(1).Name
If .CustomDocumentProperties("LetztesAktivesBlatt").Value = "Tabelle3" Then
.CustomDocumentProperties("LetztesAktivesBlatt").Value = .Worksheets(2).Name
End If
End If
.Unprotect "xyz"
For Each Ws In .Worksheets
If Ws.Name "Tabelle3" Then Ws.Visible = True
Next Ws
.Worksheets("Tabelle3").Visible = xlVeryHidden
.Worksheets(.CustomDocumentProperties("LetztesAktivesBlatt").Value).Activate
.Save
End With
End Sub
Sub Beenden()
Dim Ws As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
.Unprotect "xyz"
With .Worksheets("Tabelle3")
.Visible = True
.Unprotect "xyz"
.Range("b10") = "Information:"
.Range("b12") = "Sie haben diese Arbeitsmappe mit deaktivierten Makros gestartet oder das Passwort falsch eingegeben."
.Range("b14") = "Schliessen Sie die Arbeitsmappe, danach starten Sie sie neu mit aktivierten Makros und Sie gelangen zur Passwortabfrage."
.Range("b16") = "Bei korrekter Eingabe des Passwortes stehen Ihnen alle anderen Tabellenblätter dieser Arbeitsmappe zur Verfügung."
.Protect "xyz"
End With
.CustomDocumentProperties("LetztesAktivesBlatt").Value = ActiveSheet.Name
For Each Ws In .Worksheets
If Ws.Name "Tabelle3" Then Ws.Visible = xlVeryHidden
Next Ws
.Protect "xyz"
End With
Application.ScreenUpdating = True
ThisWorkbook.Save
End Sub
Gruß
Reinhard
Hallo Reinhard,
vielen dank für deine datei. ist richtig ins detail aufgebaut
, aber sollte bei der eingabe des passwortes „xyz“ nicht das tabellenblatt3 eingeblendet werden?
oder verstehe ich da etwas falsches? so gut verstehe ich den code leider nicht.
hier noch meine datei, so in etwa sollte es funktionieren (passwort: test)
http://rapidshare.de/files/33527951/Passwortabfrage1…
nur sollte der code der die einzelnen sheets ausblendet
Sheets("Datenblatt1").Visible = False
Sheets("Datenblatt2").Visible = False
Sheets("Datenblatt3").Visible = False
ein allgemeiner sein für ALLE Blätter…
also mit for next schleife
maxsheets = Application.Sheets.Count
for i=0 to maxsheets-1 Step=1
ThisWorkbook.Sheets(i).Visible = False
Next i
oder war es
for i=1 to maxsheets Step=1
ThisWorkbook.Sheets(i).Visible = False
Next i
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
scheint leider auch nicht zu funkzionieren 
aber danke trotzdem
gruss sascha
Hi Sascha,
vielen dank für deine datei. ist richtig ins detail aufgebaut
-), aber sollte bei der eingabe des passwortes „xyz“ nicht
das tabellenblatt3 eingeblendet werden?
nein,
deaktivierte Makros: Nur Tabelle3 sichtbar, alle anderen versteckt
falsches Passwort : Nur Tabelle3 sichtbar, alle anderen versteckt
richtiges Passwort : Alle sichtbar, außer Tabelle3
oder verstehe ich da etwas falsches?
ja, Probier doch mal in meiner datei alle drei Fälle.
hier noch meine datei, so in etwa sollte es funktionieren
(passwort: test)
http://rapidshare.de/files/33527951/Passwortabfrage1…
nur sollte der code der die einzelnen sheets ausblendet
Sheets(„Datenblatt1“).Visible = False
Sheets(„Datenblatt2“).Visible = False
Sheets(„Datenblatt3“).Visible = False
ein allgemeiner sein für ALLE Blätter…
„Alle“ geht eh nicht da weigert sich Excel, eins muss sichtbar bleiben.
Und in meinem Code und dem von Rakon siehst du die Schleifen.
und Visible=False langt nicht , dass kann man in Excl locker wieder einblenden.
Gruß
Reinhard
ok, super. werde es gleich testen. vielen lieben dank
))