zunächst mal ein gutes und gesundes Neues Jahr allen fleißigen Helfern.
Meine Frage: Ist es möglich, in die Fußzeile eines Excelsheets den Usernamen abzubilden? Wenn ja, wie?
Vielen Dank für Eure Tips im voraus.
Gruß
Torsten
Function apiGetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Function fOSUserName() As String
Dim lLen As Long, lX As Long
Dim sUserName As String
sUserName = String$(254, 0)
lLen = 255
lX = apiGetUserName(sUserName, lLen)
If lX <> 0 Then
fOSUserName = Left$(sUserName, lLen - 1)
Else
fOSUserName = ""
End If
End Function
Sub Username2LeftFooter()
ActiveSheet.PageSetup.LeftFooter = fOSUserName
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
' Der Anmeldename am Netzwerk
ActiveWorkbook.ActiveSheet.PageSetup.LeftFooter = Environ("UserName")
' Der Computername
ActiveWorkbook.ActiveSheet.PageSetup.CenterFooter = Environ("ComputerName")
' Der Name der in Excel eingetragen ist
ActiveWorkbook.ActiveSheet.PageSetup.RightFooter = Application.UserName
End Sub
Um den Username in der Fußzeile eines Excel-Dokuments anzuzeigen, kannst Du VBA verwenden. Hier sind die Schritte, die Du befolgen solltest:
Öffne Excel und drücke Alt + F11
, um den VBA-Editor zu öffnen.
Klicke im Project Explorer mit der rechten Maustaste auf "DieseArbeitsmappe" und wähle "Einfügen" > "Modul".
Füge den folgenden Code in das Modul ein:
Private Declare Function apiGetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Function fOSUserName() As String
Dim lLen As Long, lX As Long
Dim sUserName As String
sUserName = String$(254, 0)
lLen = 255
lX = apiGetUserName(sUserName, lLen)
If lX <> 0 Then
fOSUserName = Left$(sUserName, lLen - 1)
Else
fOSUserName = ""
End If
End Function
Sub Username2LeftFooter()
ActiveSheet.PageSetup.LeftFooter = fOSUserName
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro Username2LeftFooter
aus, um den Username in der Fußzeile zu setzen.
Fehler beim Kompilieren. Erwartet: Sub oder Function:
Private Declare
Befehl in einer einzigen Zeile steht. Es darf kein Zeilenumbruch dazwischen sein.Makro funktioniert nicht:
Datei > Optionen > Trust Center > Einstellungen für das Trust Center > ActiveX- und Makroeinstellungen
und stelle sicher, dass die Makros aktiviert sind.Falls Du VBA nicht verwenden möchtest, gibt es auch eine Möglichkeit, den Benutzernamen ohne Programmierung in die Fußzeile einzufügen:
Einfügen
.Kopf- und Fußzeile
.Benutzerdefinierte Fußzeile
.Hier sind einige Beispiele, wie Du unterschiedliche Informationen in der Fußzeile anzeigen kannst:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
' Der Anmeldename am Netzwerk
ActiveWorkbook.ActiveSheet.PageSetup.LeftFooter = Environ("UserName")
' Der Computername
ActiveWorkbook.ActiveSheet.PageSetup.CenterFooter = Environ("ComputerName")
' Der Name, der in Excel eingetragen ist
ActiveWorkbook.ActiveSheet.PageSetup.RightFooter = Application.UserName
End Sub
Mit diesem Code kannst Du sowohl den Username, den Computername als auch den in Excel eingetragenen Namen in die Fußzeilen der Seiten einfügen.
Workbook_BeforePrint
Ereignis, um die Fußzeilen dynamisch zu setzen, bevor Du ein Dokument druckst.1. Was bedeutet username in Excel?
Der Username in Excel bezieht sich auf den Anmeldenamen, den Du für Dein Benutzerkonto auf dem Computer oder im Netzwerk verwendest.
2. Kann ich den Username auch in anderen Bereichen von Excel nutzen?
Ja, Du kannst den Username in verschiedenen Bereichen verwenden, wie zum Beispiel in Textfeldern, Überschriften oder in Berechnungen.
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