Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• WillWissen
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Lieber Ralf,
da lass ich doch gleich mal ein ebenso unknackbares wie sakrisches Dankschön da. Code ist perfekt.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 29.09.2015
Version(en): 2030,5
01.03.2016, 15:22
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2016, 15:23 von snb.)
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hübsch, snb! :19:
Ich tausche Dein + gegen ein -
:21:
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
01.03.2016, 16:58
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2016, 16:58 von snb.)
(01.03.2016, 15: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)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
… und ich dachte immer WAHR=1 und FALSCH=0 :21:
So unklug war der Ralf gar nicht:
| A | B |
1 | 2 | snb (+) |
2 | 5 |
3 | 2 | RPP (-) |
4 | -1 |
Formeln der Tabelle |
Zelle | Formel | 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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 29.09.2015
Version(en): 2030,5
01.03.2016, 17:20
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2016, 17:20 von snb.)
In
Excel:
true=1
false=0
In
VBA:true=
-1false=0
Und das hier ist
VBACode:
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 ?
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Direktfenster:
Wieder was gelernt!
:19:
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
(01.03.2016, 15: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
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)