Clever-Excel-Forum

Normale Version: Passwortabfrage vor Einblenden eines Arbeitsblattes per Doppelklick
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Freunde,

aus Tabellenblatt1 heraus blende ich per Doppelklick ein weiteres Tabellenblatt ein bzw. aus. Dieses Makro benutze ich dazu:


Zitat:Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Address(0, 0) = "ZZ11" Then
      Application.ScreenUpdating = False
      If Sheets("TopSecret").Visible = xlVeryHidden Then
        Sheets("TopSecret").Visible = True
        Else: Sheets("TopSecret").Visible = xlVeryHidden
      End If
      Application.ScreenUpdating = True
      Cancel = True
   End If
End Sub

Kann ich eine Passwortabfrage einbauen, bevor das Arbeitsblatt eingeblendet wird? Ich will vermeiden, dass durch zufälliges Klicken in die richtige Zelle das Blatt eingeblendet wird. Das VBA-Projekt selbst ist bereits mit einem Kennwort gesichert (soweit man bei XL von Sicherheit reden kann :32:)
Moin Günter, Du Sicherheitsfanatiker!  :21:
Code:
     If Sheets("TopSecret").Visible = xlVeryHidden Then
        If InputBox("Geheim!") = "RPP63" Then Sheets("TopSecret").Visible = True
     Else: Sheets("TopSecret").Visible = xlVeryHidden
     End If
Unknackbar! :19:

Gruß Ralf
Lieber Ralf,

da lass ich doch gleich mal ein ebenso unknackbares wie sakrisches Dankschön da. Code ist perfekt.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Address = "$ZZ$11" Then
     Sheets("TopSecret").Visible = 2+3*(environ("username")="RPP")
     cancel=true
   end if
end Sub
Hübsch, snb!  :19:

Ich tausche Dein + gegen ein -
:21:

Gruß Ralf
(01.03.2016, 14:32)RPP63 schrieb: [ -> ]Ich tausche Dein + gegen ein -
:21:
Nicht klug ;)

2- 3*-1 = 5
2+3*-1 =-1   (true/visible)
2+3* 0 = 2      (very hidden)
… und ich dachte immer WAHR=1 und FALSCH=0  :21:

So unklug war der Ralf gar nicht:

AB
12snb (+)
25
32RPP (-)
4-1
Formeln der Tabelle
ZelleFormel
A1=2+3*("RPP"<>"RPP")
A2=2+3*("RPP"="RPP")
A3=2-3*("RPP"<>"RPP")
A4=2-3*("RPP"="RPP")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
In Excel:

true=1
false=0

In VBA:

true=-1
false=0

Und das hier ist VBA
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Address = "$ZZ$11" Then
     Sheets("TopSecret").Visible = 2+3*(environ("username")="RPP")
     cancel=true
   end if
end Sub

Ergo ?
Blush
Direktfenster:
Code:
?1*[true]
-1

Wieder was gelernt!
:19:

Gruß Ralf
(01.03.2016, 14:22)snb schrieb: [ -> ]
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Address = "$ZZ$11" Then
     Sheets("TopSecret").Visible = 2+3*(environ("username")="RPP")
     cancel=true
   end if
end Sub

Hi snb,

danke, dass du mir ein weiteres Makro zur Verfügung stellst. Allerdings habe ich ein Verständnisproblem. Welcher Username ist gemeint? Ich habe mir meinen Usernamen in den Systeminformationen anzeigen lassen, damit ich die korrekte Schreibweise habe. Desgleichen habe ich natürlich die Tabellennamen sowie die (Klick)Adresse an die tatsächlichen Gegebenheiten angepasst.

Trotzdem wird das Blatt nicht ein- oder ausgeblendet. Es kommt auch keine Meldung; schlicht: es rührt sich nichts. An welcher Stelle müsste die Passwortabfrage in deinem Code rein?

Erklärungen bzgl. VBA bitte in der Form, dass es für einen "Nicht-VBA-ler" nachvollziehbar ist. Ich bin zwar in der Lage Makros aufzuzeichnen, weiß wie ich in den Editor gelange und kann auch kleinere Anpassungen in einem bestehenden Makro vornehmen. Zu mehr reicht aber mein Kenntnisstand nicht.
Seiten: 1 2 3