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

Wenn neuer Tag dann Wert in neue Zeile übertragen

Wenn neuer Tag dann Wert in neue Zeile übertragen
08.12.2014 22:05:06
bernhardtautz
Hallo VBA-Profis denn ohne VBA geht es wohl nicht:
In Blatt 1 soll in Zelle A1 das aktuelle Datum stehen (Heute). In B1 wird ein Wert eingegeben. In Blatt 2 soll in A1 das Datum aus Blatt 1 und in B1 der Wert aus B1 vom Blatt1 übernommen werden.
An einem neuen Tag soll B1 in Blatt 1 zunächst wieder auf leer zurückgesetzt sein. In Blatt 2 soll in einer neuen Zeile wieder das aktuelle Datum stehen (A2) und daneben (B2) wieder der Wert von B1 aus Blatt 1. Das soll aber nur passieren, wenn im Blatt 1 in B1 ein Wert eingegeben wird. Wenn kein Wert eingegeben wird, soll in Blatt 2 nichts geändert werden. Es soll also keine neue Zeile ausgefüllt werden. Wichtig: Die übertragenen Daten sollen sich nicht mehr ändern, also quasi eingefroren sein.
Kann mir jemand helfen ?
Bernhard

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn neuer Tag dann Wert in neue Zeile übertragen
09.12.2014 14:05:49
fcs
Halle Bernhard,
das kann man mit einem Makro machen, das jedes mal ausgeführt wird, wenn die Datei geöffnet wird.
Das Makro macht dann die Prüfungen bzgl. Datum und Wert, überträgt ggf. die Werte, und setzt die Werte im Eingabeblatt zurück.
Zum Testen einfach das Datum in A1 auf einen älteren Wert setzen, dann die Datei speichern, schließen und wieder öffnen.
Gruß
Franz
'Makro im VBA-Editor unter "DieseArbeitsmappe" einfügen
Private Sub Workbook_Open()
Dim Zeile As Long
Dim wks1 As Worksheet, wks2 As Worksheet
Dim datDatum As Date, varWert As Variant
Set wks1 = Me.Worksheets("Tabelle1") 'Name ggf. anpassen - Tabelle in der eingegeben wird
Set wks2 = Me.Worksheets("Tabelle2") 'Name ggf. anpassen - Tabelle in die übertragen wird
'Werte im Eingabeblatt merken
datDatum = wks1.Range("A1").Value
varWert = wks1.Range("B1").Value
'Prüfen ob Datum  Heute
If datDatum  Date Then
'Prüfen ob Wert eingetragen
If Not IsEmpty(varWert) Then
With wks2
'Zeile ermitteln in die Werte eingetragen werden sollen
If IsEmpty(.Cells(1, 1)) Then
Zeile = 1
Else
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
End If
'gemerkte Werte eintragen
.Cells(Zeile, 1) = datDatum
.Cells(Zeile, 2) = varWert
End With
End If
'Werte im Eingabeblatt zurücksetzen
With wks1
.Range("A1") = Date
.Range("B1").ClearContents
End With
End If
End Sub

Anzeige
AW: Wenn neuer Tag dann Wert in neue Zeile übertragen
09.12.2014 18:42:09
bernhardtautz
Das liest sich gut. Das müsste passen. Habe heute noch keine Zeit das auszuprobieren. Wenn ich damit nicht klar komme mache ich ggf. noch eine Nachfrage.
Herzlichen Dank Franz !
Gruß Bernhard

389 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige