Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speicherdatum eines Tabellenblattes einfügen

Speicherdatum eines Tabellenblattes einfügen
11.02.2019 19:04:44
Jens
Hallo.
Ich habe bereits viel hier und in anderen Foren gesucht. Leider konnte ich bislang noch nicht das passende für mich finden. Da ich mich nicht in VBA auskenne, möchte ich mich hier an Euch "Profis" wenden.
Ich habe eine Exceldatei mit 5 unterschiedlichen Tabellenblättern. In allen Tabellenblättern, können Benutzer in ausgewählten Zellen Werte ändern.
Nun möchte ich, das wenn in einer Tabelle Werte geändert wurden, dies beim Speichen der Datei auch nur in dieser Tabelle angezeigt wird.
Also wurden in Tabelle1 Werte geändert, so soll das letzte Speicherdatum der Tabelle in B1 angezeigt werden. Wurden in allen anderen Tabellen die Werte nicht geändert, so bleibt dort das vorherige Speicherdatum.
Auch wäre es schön, sehen zu können, wann die einzelnen Tabellenblätter zum ersten mal geändert wurden.
Ich möchte mich schon jetzt im Voraus bei Euch bedanken.
Gruß Jens

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

Betreff
Datum
Anwender
Anzeige
AW: Speicherdatum eines Tabellenblattes einfügen
11.02.2019 20:06:51
Sepp
Hallo Jens,
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
  Dim varKey As Variant 
 
  On Error GoTo ErrorHandler 
  Application.EnableEvents = False 
 
  If Not objDict Is Nothing Then 
    For Each varKey In objDict.Keys 
      If Sheets(varKey).Range(FIRST_CHANGED) = "" Then Sheets(varKey).Range(FIRST_CHANGED) = Now 
      Sheets(varKey).Range(LAST_CHANGED) = Now 
    Next 
    Set objDict = Nothing 
  End If 
 
ErrorHandler: 
  Application.EnableEvents = True 
End Sub 
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
 
If objDict Is Nothing Then Set objDict = CreateObject("Scripting.Dictionary") 
 
With objDict 
  If Not .Exists(Sh.Name) Then 
    .Add Sh.Name, Sh.Name 
  End If 
End With 
 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Modul Modul1
Option Explicit 
 
Public objDict As Object 
 
Public Const FIRST_CHANGED  As String = "A2"  'Zelle mit dem ersten Speicherdatumdatum 
Public Const LAST_CHANGED   As String = "B2"  'Zelle mit dem letzten Speicherdatum 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Hier noch eine Beispieldatei, die Änderungsdaten werden in A2/B2 geschrieben.
Die Zelladressen kannst du im Code anpassen.
https://www.herber.de/bbs/user/127585.xlsm
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Speicherdatum eines Tabellenblattes einfügen
11.02.2019 21:08:43
Jens
Hallo Sepp,
das ist ja grandios. Genau das was ich gesucht habe. Super Spitzenklasse.
Vielen, vielen Dank.
Gruß Jens

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige