Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Passwortabfrage vor Einblenden eines Arbeitsblattes per Doppelklick
#1
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)
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
to top
#2
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
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • WillWissen
to top
#3
Lieber Ralf,

da lass ich doch gleich mal ein ebenso unknackbares wie sakrisches Dankschön da. Code ist perfekt.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
to top
#4
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
to top
#5
Hübsch, snb!  19

Ich tausche Dein + gegen ein -
21

Gruß Ralf
to top
#6
(01.03.2016, 14:32)RPP63 schrieb: Ich tausche Dein + gegen ein -
21
Nicht klug Wink

2- 3*-1 = 5
2+3*-1 =-1   (true/visible)
2+3* 0 = 2      (very hidden)
to top
#7
… 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
to top
#8
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 ?
to top
#9
Blush
Direktfenster:
Code:
?1*[true]
-1

Wieder was gelernt!
19

Gruß Ralf
to top
#10
(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.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste