Herbers Excel-Forum - das Archiv
Datum letzte Änderung
Betrifft: Datum letzte Änderung
von: Werner
Geschrieben am: 09.10.2003 13:59:38
Hallo Spezialisten,
Folgende Frage und Bitte:
Ich habe eine Datei bestehend aus 14 Tabellenblättern.
Ich habe 3 Benutzer die Daten in diese DAtei eintragen.
Ich möchte jetzt auf einem Tabellenblatt vorgeben:
1.Benutzer Spalte Zelle A1 und dann automatisch in Zelle B1 das letzte Bearbeitungsdatum einträgt.
2.Benutzer Zelle A2 usw...
Ich bin ratlos...
Danke für eure Aufmerksamkeit
Gruß
Werner
Betrifft: AW: Datum letzte Änderung
von: Werner
Geschrieben am: 09.10.2003 14:06:44
Nachtrag:
jeder Benutzer hat seinen eigenen Bereich.
So nach dem Motto:
Wenn Änderung im Bereich ... dann Datum in Zelle so und so.
Betrifft: AW: Datum letzte Änderung
von: Willie
Geschrieben am: 09.10.2003 14:08:50
Das Makro kannst du in Workbookopen eintragen und die Namen prüfen lassen!
Gruß
Willie
Sub Namenvergenen()
Name = Application.UserName
If Name = "Hugo Müller" Then
Cells(1, 1).Value = Name
Cells(1, 2).Value = Date & " " & Time
ElseIf Name = "Max Mustermann" Then
Cells(2, 1).Value = Name
Cells(2, 2).Value = Date & " " & Time
ElseIf Name = "Peter Lustig" Then
Cells(3, 1).Value = Name
Cells(3, 2).Value = Date & " " & Time
End If
End Sub
Betrifft: AW: Datum letzte Änderung
von: Werner
Geschrieben am: 09.10.2003 14:23:44
Hallo Willi,
danke ert Mal.
Da gibt esnur ein Problem:
Wir haben ein Intra-Net und außerdem ist Excel auf die Firma liszensiert.
Also mit Benutzername geht es nicht.
Wahrscheinlich nicht lösbar.
MfG
Werner
Betrifft: AW: Datum letzte Änderung
von: xXx
Geschrieben am: 09.10.2003 14:34:45
Hallo,
leg dir eine Tabelle "Logbuch" mit folgenden Überschriften an: User; Datum, Sheet; Zelle
Diesen Code in ein Modul:
Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Function UserName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
UserName = Left(Buffer, BuffLen)
UserName = Left(UserName, InStr(UserName, Chr(0)) - 1)
End Function
Diesen Code in jede zu überwachende Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intLZ, Sh As Worksheet
Set Sh = ActiveSheet
With Sheets("Logbuch")
intLZ = .Cells(65536, 1).End(xlUp).Row + 1
.Cells(intLZ, 1) = UserName
.Cells(intLZ, 2) = Date
.Cells(intLZ, 3) = Sh.Name
.Cells(intLZ, 4) = Target.Address
End With
End Sub
Es wird der Netzwerk-Anmeldename, das Datum, das geänderte Blatt und die geänderte Zelle eingetragen. "Logbuch" im Editor evtl auf xlsheetveryhidden setzen und den Code schützen.
Gruß aus'm Pott
Udo
http://www.excelerator.de
P.S. Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter!
Betrifft: AW: Datum letzte Änderung
von: Werner
Geschrieben am: 09.10.2003 14:49:01
Hallo Udo,
das klappt prima.
Vielen Dank