Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
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

Zeitverlauf: Anzahl offener Punkte

Zeitverlauf: Anzahl offener Punkte
23.05.2018 14:54:20
Gonzo
Hallo Forum,
vielen Dank ersteinmal für das tolle Forum und die vielen Helferlein, die hier wirklich tolle Hilfe leisten. Durch die gute Suchfunktion und die Vielzahl an Fragen anderer User und die Untersützung der Helferlein konnte ich als Besucher mir bisher "alleine" weiterhelfen trotz nahzeu Null-VBA-Kenntnissen - Vielen Dank!!
Nun komme ich leider seit ein paar Tagen nicht so richtig weiter und hoffe auf eure Hilfe.
Beim Abspeichern, soll der aktuelle IST-Zustand "Anzahl der offene Punkte" zum heutigen Datum gespeichert werden.
In Tabelle1 steht in Zelle A1 "Summe der offenen Punkte".
In Tabelle2 soll in Spalte B2, das aktuelle Datum fortlaufen (Nächste freie Zeile) abgespeichert werden und direkt daneben in Spalte C2, die Summe der offenen Punkte aus Tabelle1!A1 gelistet werden.
Das bekomme ich mit dem unteren Code hin :)
Allerdings würde ich gerne den Code so umändern, dass Abgefragt wird ob heute schon einmal gespeichert worden ist, wenn ja soll in der gleichen Zeile jedoch der Wert in Spalte C aktualisiert werden. Wenn nein, dann wie gehabt in der nächste freien Zeile Datum + Wert.
Wie bekomme ich diese Änderung hin?
Vielen Dank vorab für eure Hilfe.
Code unten
Datei unter https://www.herber.de/bbs/user/121779.xlsm
Private Sub Workbook_BeforeSave(ByVal _
SaveAsUI As Boolean, Cancel As Boolean)
Dim letzte As Long
With Worksheets("Tabelle2") 'Blattname anpassen
letzte = Application.Max(2, .Cells(Rows.Count, 2).End(xlUp).Row + 1)
.Cells(letzte, 2) = Date
.Cells(letzte, 3) = Sheets("Tabelle1").Cells(1, 1)
.Cells(letzte, 4).Select
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitverlauf: Anzahl offener Punkte
23.05.2018 19:59:36
Robert
Hallo Gonzo,
folgendes Makro prüft, ob das letzte eingetragene Datum das heutige Datum ist (Änderungen in rot). Sollte dies der Fall sein, wird in dieser Zeile die Summe LOPs geändert, ansonsten wird eine neue Zeile eingefügt.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim letzte As Long
With Worksheets("Tabelle2") 'Blattname anpassen
letzte = Application.Max(2, .Cells(Rows.Count, 2).End(xlUp).Row + 1)
If .Cells(letzte - 1, 2) = Date Then
.Cells(letzte - 1, 3) = Sheets("Tabelle1").Cells(1, 1)
Else
.Cells(letzte, 2) = Date
.Cells(letzte, 3) = Sheets("Tabelle1").Cells(1, 1)
End If
End With
End Sub

In dem Makro habe ich die Zeile
.Cells(letzte, 4).Select

entfernt. Ich weiß nicht, ob es nötig ist, die Zelle neben dem eingetragen Wert zu markieren. Sollte dies doch nötig sein, so müsste man noch eine Zeile einfügen:
.Activate
.Cells(letzte - 1, 4).Select

bzw.
.Activate
.Cells(letzte, 4).Select

weil sonst ein Fehler auftritt, wenn man die Datei aus der Tabelle1 heraus abspeichert.
Gruß
Robert
Anzeige
AW: Zeitverlauf: Anzahl offener Punkte
24.05.2018 10:07:42
Gonzo
Perfekt, funktioniert.
Die Zeile ".Cells(letzte, 4).Select" benötige ich tatsächlich nicht.
Vielen lieben Dank!!
Gerne und Danke für die Rückmeldung (owT)
24.05.2018 14:11:01
Robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige