ich möchte gerne das eine MsgBox erscheint, wenn ein oder zwei bestimmter User eine Exceldatei öffnen.
Wie eine MsgBox nach dem öffnen auf geht, dass weiß ich.
Leider habe ich nichts bzgl. des oder der User gefunden.
Danke
Private Sub Workbook_Open() ' Wird beim öffnen der Datei ausgeführt ***
If Environ(c.boehnke) then
MsgBox ("Test Test)"
End If
End Sub
Wie bekomme ich raus wie der angemeldete User am PC heißt?
Private Sub Workbook_Open() ' Wird beim öffnen der Datei ausgeführt ***
If Environ("Username") = "c.boehnke" then
MsgBox ("Test Test)"
End If
End Sub
Grüße,
Sub TestMeinUsername()
MsgBox Environ("Username")
End Sub
Private Sub Workbook_Open()
Dim lRow As Long
With Sheets("UserListe")
.Visible = xlVeryHidden
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(lRow, 1).Value = Environ("Username")
.Cells(lRow, 2).Value = Date
.Cells(lRow, 3).Value = Time
End With
ActiveWorkbook.Save
End Sub
If Environ("Username") = "c.boehnke" Or Environ("Username") = "h.meyer" Or Environ("Username") = _
"c.schiffer" Then
End If
oder auf ein "Select Case" zurück greifen:
Dim bAktion As Boolean
Select Case Environ("Username")
Case "c.boehnke"
bAktion = True
Case "h.meyer"
bAktion = True
Case "c.shiffer"
bAktion = True
Case Else
bAktion = False
End Select
If bAktion = True Then
MsgBox ("Hallo Welt")
End If
Um eine MsgBox anzuzeigen, wenn ein bestimmter Excel-User eine Datei öffnet, kannst Du den folgenden VBA-Code verwenden. Dieser wird im „Workbook_Open“ Ereignis platziert.
Öffne Deine Excel-Datei.
Drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
Doppelklicke auf „DieseArbeitsmappe“ im Projektfenster.
Füge den folgenden Code ein:
Private Sub Workbook_Open()
If Environ("Username") = "c.boehnke" Or Environ("Username") = "h.meyer" Then
MsgBox "Willkommen zurück, " & Environ("Username")
End If
End Sub
Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).
Mit diesem Code wird eine MsgBox angezeigt, wenn einer der angegebenen User (in diesem Fall „c.boehnke“ oder „h.meyer“) die Datei öffnet.
Fehler: MsgBox wird nicht angezeigt.
Datei
> Optionen
> Trust Center
> Trust Center Einstellungen
> Makroeinstellungen
und aktiviere die Makros.Fehler: Environ gibt keinen Benutzernamen zurück.
Environ("Username")
). Vergewissere Dich, dass der Benutzer tatsächlich mit diesem Namen am PC angemeldet ist.Wenn Du eine flexiblere Lösung benötigst, kannst Du auch eine UserForm oder ein Modul aufrufen. Hier ist ein Beispiel, um eine UserForm anzuzeigen:
Füge den gewünschten Code in das „Workbook_Open“-Ereignis ein:
Private Sub Workbook_Open()
If Environ("Username") = "c.boehnke" Or Environ("Username") = "h.meyer" Then
UserForm1.Show
End If
End Sub
Diese Methode ermöglicht es Dir, eine benutzerdefinierte Eingabemaske anzuzeigen, anstelle einer einfachen MsgBox.
Hier ist ein Beispiel, wie Du eine Liste von Usernamen sammeln kannst. Dies kann besonders nützlich sein, wenn Du eine „Userliste“ führen möchtest.
Private Sub Workbook_Open()
Dim lRow As Long
With Sheets("UserListe")
.Visible = xlVeryHidden
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lRow, 1).Value = Environ("Username")
.Cells(lRow, 2).Value = Date
.Cells(lRow, 3).Value = Time
End With
ActiveWorkbook.Save
End Sub
Dieses Skript speichert den Benutzernamen, das Datum und die Uhrzeit, wenn ein User die Datei öffnet.
Verwende Select Case
: Wenn Du mit vielen Benutzern arbeitest, ist die Verwendung von Select Case
eine saubere Lösung:
Dim bAktion As Boolean
Select Case Environ("Username")
Case "c.boehnke", "h.meyer"
bAktion = True
Case Else
bAktion = False
End Select
If bAktion Then
MsgBox "Hallo Welt"
End If
Sicherheit beachten: Sei Dir bewusst, dass Excel-Makros leicht deaktiviert werden können. Achte darauf, dass der Code nicht für unerwünschte Aktivitäten wie den Zugriff auf eine „legale Pornoseite“ verwendet wird.
1. Frage
Wie kann ich den Windows-Benutzernamen herausfinden?
Antwort: Du kannst den Windows-Benutzernamen mit Environ("Username")
abrufen.
2. Frage
Kann ich mehrere Usernamen in einer If-Bedingung abfragen?
Antwort: Ja, Du kannst „Or“ verwenden oder Select Case
nutzen, um die Bedingungen zu prüfen.
3. Frage
Ist es möglich, anstelle einer MsgBox eine UserForm zu verwenden?
Antwort: Ja, Du kannst eine UserForm anzeigen, indem Du sie im „Workbook_Open“-Ereignis aufrufst.
4. Frage
Wie kann ich verhindern, dass andere User die Datei öffnen?
Antwort: Du kannst den Code so anpassen, dass die Datei geschlossen wird, wenn der Benutzer nicht auf der Liste steht.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen