AW: VBA freigegebene Arbeitsmappe
15.01.2015 09:31:06
Klaus
Hallo Heiko,
in kurz: nein, das geht nicht.
In lang: du kannst du ein Big-Brother-Makro in die Datei setzen. Erstelle ein neues Arbeitsblatt, das nennst du "BigBrother" und blendest es per VBA mit VeryHidden aus. In "ThisWorkbook" kommt folgender Code:
Option Explicit
Public OldValue
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo hell
Const LogSheet As String = "BigBrother"
Dim lastRow As Long
Application.EnableEvents = False
With Sheets(LogSheet)
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lastRow, 1).Value = ActiveSheet.Name
.Cells(lastRow, 2).Value = Target.Address
.Cells(lastRow, 3).Value = Environ("Username")
.Cells(lastRow, 4).Value = Date
.Cells(lastRow, 5).Value = Time
.Cells(lastRow, 6).Value = OldValue
.Cells(lastRow, 7).Value = Target.Value
End With
hell:
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
OldValue = Target.Value
End Sub
Jetzt hast du den vollen Überblick, wer was wann wo von was in was geändert hat. Daraus ein Makro zu bauen, dass dir die entsprechenden Zellen auch noch einfärbt, sollte das geringste Problem sein.
Contra1: Wer davon weis, kann es sehr einfach aushebeln (einfach ohne Makros starten) oder sogar fälschen (Entwurfsmodus, Tabelle einblenden, Fake-Werte eintragen).
Contra2: Das ganze kann dir auch als böswillige Mitarbeiterüberwachung ausgelegt werden, wenn ein sehr eifriger Betriebsrat darüber stolpert. Kläre vorher mit deinem Vorgesetztem / Firmenanwalt / Personalchef, ob eine solche Überwachung eingesetzt werden kann und darf.
Grüße,
Klaus M.vdT.