Thema Datum  Von Nutzer Rating
Antwort
26.02.2016 16:12:00 Leonard
NotSolved
26.02.2016 18:14:09 Gast32915
NotSolved
26.02.2016 18:23:29 Gast75953
NotSolved
26.02.2016 18:36:52 Leonard
NotSolved
26.02.2016 19:13:02 Gast60692
NotSolved
26.02.2016 19:20:51 Gast75953
NotSolved
26.02.2016 19:28:24 Gast75953
NotSolved
26.02.2016 19:45:50 Gast53295
NotSolved
Rot "Zuletzt bearbeitet von" pro Sheet anzeigen
26.02.2016 20:08:37 Gast75953
NotSolved
26.02.2016 21:32:02 Gast73410
NotSolved
26.02.2016 22:49:13 Leonard
NotSolved
27.02.2016 10:02:12 Gast86480
NotSolved
Rot Rot Update
27.02.2016 18:43:30 Gast75953
NotSolved

Ansicht des Beitrags:
Von:
Gast75953
Datum:
26.02.2016 20:08:37
Views:
800
Rating: Antwort:
  Ja
Thema:
"Zuletzt bearbeitet von" pro Sheet anzeigen

Stimmt! - sagte ich ja - hat sich überholt ;)

Daraus ergibt sich die Lösung einer Datenfeld (Array) Variablen - PUBLIC

Die wird beim Start auf die Anzahl der Arbeitsblätter dimensioniert und mit FALSE versorgt

Das CHANGE Ereignis setzt  TRUE ins richtige Datenfeld und das BEFORE SAVE Ereignis wertet schrittweise aus

Private Sub Workbook_Open()
ReDim mChange(1 To Sheets.Count)
Dim x As Long
For x = LBound(mChange) To UBound(mChange)
   mChange(x) = False
Next x
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
mChange(Sh.Index) = True
End Sub

 

Option Explicit
Public mChange() As Variant

'Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Application.EnableEvents = False
'Sh.Range("B1").Value = Date
'Sh.Range("C1").Value = Time
'Sh.Range("D1").Value = Application.UserName
'Application.EnableEvents = True
'End Sub

Sub testChange()
Dim x As Long
For x = LBound(mChange) To UBound(mChange)
   If mChange(x) = True Then
      With Sheets(x)
      .Range("B1").Value = Date
      .Range("C1").Value = Time
      .Range("D1").Value = Application.UserName
      End With
   End If
Next x
End Sub

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Modul1.testChange
'Debug.Print "test"
End Sub

Soweit so gut, deine Idee hat es gerettet, nur .....

Ein Anwender der seine Änderung(e) rückgängig gemacht hatte wird ebenfalls "verhaftet"  und hat er eine Tabelle angefügt, dann ist schon wieder ein neues Konstrukt fällig

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.02.2016 16:12:00 Leonard
NotSolved
26.02.2016 18:14:09 Gast32915
NotSolved
26.02.2016 18:23:29 Gast75953
NotSolved
26.02.2016 18:36:52 Leonard
NotSolved
26.02.2016 19:13:02 Gast60692
NotSolved
26.02.2016 19:20:51 Gast75953
NotSolved
26.02.2016 19:28:24 Gast75953
NotSolved
26.02.2016 19:45:50 Gast53295
NotSolved
Rot "Zuletzt bearbeitet von" pro Sheet anzeigen
26.02.2016 20:08:37 Gast75953
NotSolved
26.02.2016 21:32:02 Gast73410
NotSolved
26.02.2016 22:49:13 Leonard
NotSolved
27.02.2016 10:02:12 Gast86480
NotSolved
Rot Rot Update
27.02.2016 18:43:30 Gast75953
NotSolved