Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe beim Code

Hilfe beim Code
08.10.2015 14:37:18
Michael
Hallo zusammen,
ich habe folgenden Code um Änderungen mittels VBA zu tracken:
Option Explicit
Dim vOldVal 'Must be at top of module
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim bBold As Boolean
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
If IsEmpty(vOldVal) Then vOldVal = "Empty Cell"
bBold = Target.HasFormula
With Sheet2
.Unprotect Password:="Secret"
If .Range("A1") = vbNullString Then
.Range("A1:E1") = Array("CELL CHANGED", "OLD VALUE", _
"NEW VALUE", "TIME OF CHANGE", "DATE OF CHANGE")
End If
With .Cells(.Rows.Count, 1).End(xlUp)(2, 1)
.Value = Target.Address
.Offset(0, 1) = vOldVal
With .Offset(0, 2)
If bBold = True Then
.ClearComments
.AddComment.Text Text:= _
"Track Changes" & Chr(10) & "" & Chr(10) & _
"Bold values are the results of formulas"
End If
.Value = Target
.Font.Bold = bBold
End With
.Offset(0, 3) = Time
.Offset(0, 4) = Date
End With
.Cells.Columns.AutoFit
.Protect Password:="Secret"
End With
vOldVal = vbNullString
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
On Error GoTo 0
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
vOldVal = Target
End Sub
an sich eine feine Sache. Ich würde das Makro gerne erweitern. Und zwar würde ich gerne darstellen auf welchem Sheet die Änderungen vorgenommen wurden (momentan wird nur die Range angezeigt) und durch welchen Benutzer (quasi der Benutzername oben rechts in Excel). Für jede Hilfe wäre ich sehr dankbar. Leider reichen meine VBA Kenntnisse nicht aus um den Code selber anzupassen.
Gruß
Michael

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe beim Code
08.10.2015 15:48:41
Luschi
Hallo Michael,
MsgBox Sh.Name & " - " & Environ("Username")
verrät Dir beide Informationen, wobei 'Sh' der Übergabeparameter von
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
und 'Environ' eine Vba-Funktion ist.
Gruß von Luschi
aus klein-Paris

AW: Hilfe beim Code
08.10.2015 16:15:31
Michael
Danke Luschi!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige