Hallo Gemeinschaft,
ich hab da mal noch einen.
Ich hab da eine Tabelle die ich auf eine DIN A4 Seite angepasst habe.
Viele Zellen wenig Platz.
Hier möchte ich verrichtete Aufgaben abhaken.
Nun würde ich gerne nachträglich nachvollziehen können wann genau ich diese Änderungen gemacht hab.
In der digitalen Version reicht mir völlig.
Es muss also nicht im Ausdruck zu sehen sein, was aus Platzgründen schwierig sein dürfte.
Ich dachte so an eine Datums Uhrzeit Auflistung der, sagen wir, letzten 5 Änderungen vielleicht im Kommentar?
[
attachment=4551]
Explizit geht es mir hier um die Spalten F-H und J-R
Moin Frank!
Dafür gibt es die Funktion Änderungen nachverfolgen im Register Überprüfen.
Zeigt zwar "nur" die letzte Änderung in Form eines Kommentars an, aber vielleicht reicht Dir dies ja bereits.
Ansonsten wird es eine umfangreichere VBA-Geschichte.
Gruß Ralf
Moin Ralf,
Das sieht schon mal sehr gut aus.
Kann man das irgendwie dauerhaft aktivieren?
So sind die Grundeinstellungen
[
attachment=4552]
So stell ich es mir vor
[
attachment=4553]
Aber vor allem müssen die Änderungen angezeigt werden sobald ich die Datei öffne.
Ohne Geklicke
Gruß Frank
Hi!
Man kann ja auch auf einem separaten Blatt protokollieren.
"Ohne Klick" nur mittels VBA.
Google mal nach
excel änderungen protokollieren vba
Da gibt es etliche fertige Lösungen.
Beachte: Dies darf nicht zur Überwachung von Mitarbeitern ohne deren Wissen dienen!
Wenn ein Betriebsrat vorhanden ist, muss der das vorher absegnen!
Gruß Ralf
Ok,
ich denke ich werde es bei der Anwendung über 'Änderung nachverfolgen' belassen.
Ich werd halt meine Arbeitsweise der Aufzeichnung etwas anpassen müssen.
Bereiche Kopieren oder Ausschneiden und Einfügen wie ich es sonst oft gehandhabt habe sollte ich unterlassen.
Das macht das ganze recht unübersichtlich und löscht auch größtenteils die mir wichtigen letzten Änderungen der einzel Zellen.
Bei Zeilen und Spalten einfügen und löschen jedoch scheinen all von mir benötigten Informationen erhalten zu bleiben.
Nur Schade das man das nicht dauerhaft eingeschaltet behalten kann. :s
Das mit dem Betriebsrat behalte ich mal im Hinterkopf.
Momentan bearbeite nur ich diese Datei.
Falls sich das mal ändern sollte, (Der Betriebsratsvorsitzende sitzt direkt hinter mir).
Gruß
Frank
Hallo :20:
Ich habe mit folgendem Code...
Code:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim r As Range
->Für jede geänderte Zelle
For Each r In Target
Call AenderungskennungAlsKommentar(r)
Next
Set r = Nothing
End Sub
'********************************************************
Private Function AenderungskennungAlsKommentar(r As Range)
'*** für die geänderte Zelle wird im Kommentar
'*** Benutzerkennung und Änderungszeitpunkt
'*** eingetragen
'*** Ist kein Kommentar vorhanden, wird ein neuer angelegt
Dim s As String, s_user As String
->ggf. vorhandenen Kommentar lesen
On Error Resume Next
s = r.Comment.Text
If Err.Number <> 0 Then
Err.Clear
->neuen Kommentar anlegen
r.AddComment
r.Comment.Visible = False
s =
End If
On Error GoTo 0
->Wenn Kommentar vorhanden, Zeilenumbruch anfügen
If s <> Then s = s & vbLf
->Letzten Benutzer feststellen
s_user = ActiveWorkbook.BuiltinDocumentProperties(7)
->Datum und Benutzer an Kommentar anfügen
s = s & Format(Now(), yyyymmdd_hhnn: ) & s_user
->Kommentar eintragen
r.Comment.Text s
End Function
...von folgeneder Website...
http://forum.windowsforum.de/thema/excel...gen.47555/
...experimentiert.
Das ist der Stand von 2005
Was muss da für Excel 2007 angeglichen werden?
Es läuft nämlich nicht,
so gar nicht
Hi!
Warum dort Html-Zeichen in den Code gerutscht sind, weiß wohl nur der dortige Forenbetreiber. :s
Ersetze
& amp ; durch
&
Ersetze
& lt ; durch
<
(die Leerzeichen habe ich hier eingefügt, damit man überhaupt sieht, was ich mein)
(kommen jew. ein paar mal im Code vor)
Zu den Html-eigenen Zeichen siehe:
https://wiki.selfhtml.org/wiki/HTML/Rege...ne_Zeichen
Gruß Ralf
Hi!
Du musst schon so ersetzen, wie ich oben schrieb:
[
attachment=4592]
Dann noch die Code-Kommentare als solche durch REM oder ' am Anfang der Zeilen als solche kenntlich machen,
und das verirrte s = mit s = "" ergänzen.
Ich hab Dir mal die Arbeit abgenommen.
Da nicht mein Code, habe ich ihn nicht getestet.
Modul Modul1Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim r As Range
'->Für jede geänderte Zelle
For Each r In Target
Call AenderungskennungAlsKommentar(r)
Next
Set r = Nothing
End Sub
'********************************************************
Private Function AenderungskennungAlsKommentar(r As Range)
'*** für die geänderte Zelle wird im Kommentar
'*** Benutzerkennung und Änderungszeitpunkt
'*** eingetragen
'*** Ist kein Kommentar vorhanden, wird ein neuer angelegt
Dim s As String, s_user As String
'->ggf. vorhandenen Kommentar lesen
On Error Resume Next
s = r.Comment.Text
If Err.Number <> 0 Then
Err.Clear
'->neuen Kommentar anlegen
r.AddComment
r.Comment.Visible = False
s = ""
End If
On Error GoTo 0
'->Wenn Kommentar vorhanden, Zeilenumbruch anfügen
If s <> "" Then s = s & vbLf
'->Letzten Benutzer feststellen
s_user = ActiveWorkbook.BuiltinDocumentProperties(7)
'->Datum und Benutzer an Kommentar anfügen
s = s & Format(Now(), "yyyymmdd_hhnn: ") & s_user
'->Kommentar eintragen
r.Comment.Text s
End Function
Gruß Ralf
Oh man oh man oh man...
...ich werd wohl den Wald vor lauter Bäumen niemals bestaunen dürfen.
Vielen, vielen Dank Ralf
Einen hab ich noch:
Wenn ich folgende Datei in der das Makro laufen soll als *.xlsm abspeichere...:
[
attachment=4593]
...kann ich im VBA Editor (alt+F11) kein Modul einfügen.
Gott weiß wieso, oder halt Ralf
VG
Frank