ich möchte, dass in einer Excel-Datei der Benutzername von der Windows-Anmeldung ermittelt und in die Zelle AN5 eingetragen wird, damit immer ersichtlicht ist, wer diese Datei zuletzt bearbeitet hat.
Gibts sowas als Makro?
Gruß
Frederic
Sub eigen()
Application.ScreenUpdating = False
Worksheets("Tabelle1").Activate
Range("A1:Z1").Select
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Range("AL5") = "Zuletzt geändert"
Range("AN5") = ActiveWorkbook.BuiltinDocumentProperties.Item(7)
Application.ScreenUpdating = True
End Sub
Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub yyy()
[AN5]= GetUser()
End Sub
Function GetUser() As String
Dim lpUserID As String
Dim nBuffer As Long
Dim Ret As Long
lpUserID = String(25, 0)
nBuffer = 25
Ret = GetUserName(lpUserID, nBuffer)
If Ret Then
GetUser$ = lpUserID$
End If
End Function
Sobald Du die Routine yyy startest, wird der Username in AN5 eingetragen.
Evtl. kannst Du die Routine vom Ereignis WORKBOOK_OPEN aufrufen lassen, dann geschieht es automatisch.
Gruß OttoH
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AN$5" Then Exit Sub
Range("AN5") = "Geänd. von " & _
Application.UserName & _
" am " & _
Format(Date, "dd.mm.yy")
End Sub