Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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

Werte historisieren (chronologisch)

Werte historisieren (chronologisch)
16.11.2017 14:20:42
Bernd
Hallo zusammen,
ich würde gerne verschiedene Werte aus einer Quelltabelle (verschiedene Felder) in einer Liste ("Auswertung") chronologisch fortschreiben. Dies sol per Schaltfläche manuell gestartet werden. Sollten sich nochmals Änderungen an den Quelldaten ergeben, dann sollte ein Überschreibvorgang stattfinden, wobei das Datumsfeld das relevante Kriterium ist. im Jahresverlauf sollte sich dann eine Tabelle ergeben, in der die Wochendaten zeilenweise dargestellt sind. Anbei eine Mustervorlage, wie das so aussehen soll. Noch folgende Ergänzung: In der Auswertungstabelle sollten die Spalten d,f,h und ab j nicht durch das Makro überschrieben werden, da ich dort gerne Formeln einbauen würde.
VG
Bernd
PS: Die Musterdatei :
https://www.herber.de/bbs/user/117709.xlsx

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte historisieren (chronologisch)
16.11.2017 15:51:29
fcs
Hallo Bernd,
nachfolgend ein entsprechendes Makros.
Im Blatt Auswertung muss du vor Makroausführung die Formel in B2 durch den Wert ersetzen.
Gruß
Franz
Sub WochenAuswertung_aktualisieren()
Dim wksQ As Worksheet
Dim wksA As Worksheet
Dim datDatum As Date
Dim Zeile_A As Long
Set wksQ = ActiveWorkbook.Worksheets("Quelle")
Set wksA = ActiveWorkbook.Worksheets("Auswertung")
datDatum = wksQ.Range("C4").Value
With wksA
Zeile_A = .Cells(.Rows.Count, 2).End(xlUp).Row
If .Cells(Zeile_A, 2).Value = datDatum Then
If MsgBox("vorhandene Daten in Auswertung überschreiben?", _
vbQuestion + vbOKCancel, "Wochenauswertung") = vbCancel Then Exit Sub
Else
If MsgBox("Daten für neue Woche in Auswertung schreiben?", _
vbQuestion + vbOKCancel, "Wochenauswertung") = vbCancel Then Exit Sub
Zeile_A = Zeile_A + 1
.Cells(Zeile_A, 2) = datDatum
End If
.Cells(Zeile_A, 3).Value = wksQ.Range("D4").Value 'Wert 1
.Cells(Zeile_A, 5).Value = wksQ.Range("F11").Value 'Wert 2
.Cells(Zeile_A, 7).Value = wksQ.Range("H4").Value 'Wert 3
.Cells(Zeile_A, 9).Value = wksQ.Range("I7").Value 'Wert 4
'usw
End With
End Sub

Anzeige
AW: Werte historisieren (chronologisch)
17.11.2017 08:33:56
Bernd
Hallo Franz!
Perfekt gelöst wie immer!
Vielen Dank!
Gruß,
Bernd
AW: Werte historisieren (chronologisch)
17.11.2017 14:08:14
Bernd
Hallo nochmals,
doch noch eine kleiner Frage: Wie kann man z. B. die Werte aus D4 und F11 über den VBA-Code addieren und die Summe in die gewünschte Zelle in der Auswertung "reinschreiben"?
Viele Grüße
Bernd
AW: Werte historisieren (chronologisch)
18.11.2017 19:47:21
fcs
Hallo Bernd,
Wie kann man z. B. die Werte aus D4 und F11 über den VBA-Code addieren ...?
Übersraschender Weise kann VBA auch addieren.

.Cells(Zeile_A, 10).Value = wksQ.Range("D4").Value + wksQ.Range("F11").Value
Wenn nicht sichergestellt ist, dass in den Zellen eine Zahl steht oder die Zellen leer sind, dann muss der Zellinhalt geprüft werden, ob er nummerisch ist bevor addiert wird.

With .Cells(Zeile_A, 10)
.Value = 0
If IsNumeric(wksQ.Range("D4")) Then
.Value = .Value + wksQ.Range("D4").Value
End If
If IsNumeric(wksQ.Range("F11")) Then
.Value = .Value + wksQ.Range("F11").Value
End If
End With

Gruß
Franz
Anzeige
AW: Werte historisieren (chronologisch)
20.11.2017 13:15:47
Bernd
Danke nochmals Franz!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige