Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi Günter, das PW bei seinem Code ist RPP, also der unterstellte Username im System. Teste mal wie der bei dir lautet: Code: Sub User() MsgBox Environ("username") End Sub
Mit freundlichen Grüßen :) Michael
Registriert seit: 29.09.2015
Version(en): 2030,5
Nur wenn dein Environ("username") identisch ist zu "RPP" wird das Arbeitsblat "Topsecret" gezeigt. Lass mal laufen Code: Sub M_test() msgbox environ("username") End sub
Un nun ändere diese Code: statt "RPP", setze deine 'username' wie gezeigt im MsgBox. 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")="WillWissen") cancel=true end if end Sub
wenn du nun doppelklickst in range("ZZ11") wird das ArbeitsBlatt "topsecret" gezeigt.
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Michael, hi snb, genau das, was ihr mir vorschlagt, habe ich bereits getan; siehe auch meinen vorigen Beitrag: Zitat:Ich habe mir meinen Usernamen in den Systeminformationen anzeigen lassen, damit ich die korrekte Schreibweise habe. Ich habe den korrekten Usernamen (von der System-Info ausgelesen und auch aus der eben ausprobierten MsgBox) verwendet, ich habe den korrekten Tabellenblattname (ein Wort ohne Leerzeichen) verwendet und ich habe auch die targetadress überprüft. Es ist alles so eingetragen, wie es vorgeschlagen wurde und dennoch kommt keine Reaktion - keine Meldung, kein Ein-/ausblenden. Aber egal, macht euch keinen Kopf; das Makro von Ralf tut seinen Dienst. Danke für euer Bemühen.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi Günter, meint Test sieht so aus und macht genau was dort im Code steht, erst ausblenden dann bei richtigem Environ(Usernamen) wird Tabelle2 eingeblendet.Wie der Test zeigt, lautet der Application.Username in der MsgBox anders. Teste mal deine Festlegungen in einer neuen Datei PHP-Code: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim UserName If Target.Address = "$B$1" Then Sheets("Tabelle2").Visible = False MsgBox Application.UserName MsgBox Environ("username") Sheets("Tabelle2").Visible = 2 + 3 * (Environ("username") = "Michael") Cancel = True End If End Sub
Mit freundlichen Grüßen :) Michael
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Michael,
jetzt komme ich doch noch dazu, mir das nochmals anzusehen. Mit deiner Version hat's einwandfrei geklappt; snbs Vorschlag läuft bei mir definitiv nicht. Allerdings gibt's bei dir zwei Änderungen gegenüber snbs Makro. Du hast zum einen die Variablendeklaration drin, wobei ich mir nicht sicher bin, ob du diese nicht nur wegen der msgBox geschrieben hat, die den application.username ausliest. Und zum anderen blendest du erstmal das Blatt aus, bevor es eingeblendet wird.
Aber wie ich schon vorhin geschrieben habe, Ralfs Makro ist eingebaut und versieht tadellos seinen Dienst. Alles andere war für mich eine kleine Lern-/Verständigungshilfe (will ja schließlich auch mal VBA können :32:)
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Moin Günter,
mein Code entspricht ja dem Grundgerüst von snb, aber um dir einerseits den Unterschied zu den Usernamen zu zeigen, da ich vermutet hatte, da läge dein Fehler, ist da nur noch das ausblenden der Tabelle drin, denn was will ich ausblenden wenn es nicht sichtbar ist? und die Deklaration ist drin weil ich eben sonst Fehlermeldung wegen nicht deklarierten Variable Username bekam.
Aber ist ja egal, du hast deine funktionierende Lösung und ist vergesse jetzt sicher bald wieder wie es ging.
Ist immer spannend, wenn mich Kollegen bitten, irgendeine früher vor 10-15 Jahren entwickelte Excelsache zu überarbeiten, man steigt wieder wie doof ein und versucht sich das klar zu machen unbd stolpert dann oft schon bei der Beseitigung der Sperren sprich Paßwortschutz. Aber dazu gibts ja Lösungen sich zu behelfen.
Mit freundlichen Grüßen :) Michael
Registriert seit: 29.09.2015
Version(en): 2030,5
Bitte, lese mein Post #14 nochmals sorgfältig durch Sheets("TopSecret").Visible = 2+3*(environ("username")=" *****") wo " *****" steht muss du das Ergebnis von Msgbox environ("username") setzen. 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")="*****") cancel=true end if end Sub
oder zeig mal im Schirm'print' das Ergebnis von msgbox environ("username")
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi snb, mein Username ist "Günter" (ohne "") und diesen habe ich ins Makro eingesetzt. So sieht es aus: Zitat:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$ZZ$11" Then Sheets("TopSecret").Visible = 2+3*(environ("username")="Günter") cancel=true end if end Sub Es stimmen sowohl die Target.Adress als auch der Tabellenname korrekt überein (mehrfach überprüft!). Und trotzdem erfolgt keinerlei Reaktion auf den Doppelklick.
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
Hast du schon verstanden dass es 2 unterschiedene usernames gibt ? Code: msgbox Application.username
Code: msgbox environ("username")
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi snb, Zitat:Hast du schon verstanden dass es 2 unterschiedene usernames gibt ? So gefühlte 20x habe ich doch schon gesagt, dass ich das alles (teils mehrfach) überprüft habe. Hiermit getestet: Zitat:Sub M_test() MsgBox Environ("username") End Sub Sub Test_Application() MsgBox Application.UserName End Sub Und das Ergebnis: [ Bild bitte so als Datei hochladen: Klick mich!]
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
|