Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum in VBA automatisch weiterführen

Datum in VBA automatisch weiterführen
19.11.2004 11:44:37
Wolfgang
Mit folgendem Code erreiche ich, daß bei Hinzufügen eines Wertes in Spalte B das Datum in Spalte A weitergeschrieben wird. Das klappt auch, bis auf den Fall, daß der Wert in Spalte B gelöscht wird (dann sollte auch das Hinzugefügte Datum gelöscht werden), oder der Wert in B wird verändert (dann sollte nichts erfolgen).
Auf Hilfe hofft
Wolfgang

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim a, gg As Integer
Dim dd As Date
gg = Range("A65536").End(xlUp).Row
dd = Cells(gg, 1)
a = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If Not Intersect(Target, Cells(a, 2)) Is Nothing Then
Cells(a, 2).Offset(18, -1) = dd + 1
End If
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum in VBA automatisch weiterführen
ChrisL
Hi Wolfgang

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim a As Long, gg As Long
Dim dd As Date
If Target = "" Then
Cells(Target.Row, 2).Offset(18, -1) = ""
Exit Sub
End If
gg = Range("A65536").End(xlUp).Row
dd = Cells(gg, 1)
a = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If Not Intersect(Target, Cells(a, 2)) Is Nothing Then
Cells(a, 2).Offset(18, -1) = dd + 1
End If
End Sub

Gruss
Chris
AW: Datum in VBA automatisch weiterführen
19.11.2004 19:19:23
Wolfgang
Vielen Dank Chris
Es klappt jetzt, wenn der Wert gelöscht wird, wird er allerdings verändert besteht das Problem noch. Kann man dagegen auch etwas machen?
Viele Grüße
Wolfgang
Anzeige
AW: Datum in VBA automatisch weiterführen
ChrisL
Hi Wolfgang
Wenn der Wert verändert wird, dann sollte doch nichts geschehen oder doch?
Gruss
Chris
AW: Datum in VBA automatisch weiterführen
Wolfgang
Hallo Chris
Ich meine es so:
Wenn der Wert verändert wird, z.B. von 5 auf 8 rechnet der Code zum noch vorhandenen Datum +1, und überschreibt es, deshalb steht nach einer Wertänderung nach dem z.B. 05.05.04 nicht der 06.05.04 sondern der 07.05.04. Je nach Anzahl der Änderungen wird immer ein falsches Datum eingetragen. Ich meinte, daß trotz einer Wertänderung das richtige Datum eingeschrieben wird, bzw. bestehen bleibt.
Ich hoffe Du verstehst mich, probiere es mal kurz aus, dann wird es deutlich.
Eine schönen Abend noch
Gruß
Wolfgang
Anzeige
AW: Datum in VBA automatisch weiterführen
ChrisL
Hi Wolfgang
Versuch mal so...

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 2 Then
If Target = "" Then
Cells(Target.Row, 2).Offset(18, -1) = ""
Exit Sub
Else
Cells(Target.Row, 2).Offset(18, -1) = Range("A65536").End(xlUp) + 1
End If
End If
End Sub

Gruss
Chris
AW: Datum in VBA automatisch weiterführen
21.11.2004 20:45:30
Wolfgang
Hallo Chris
geht leider auch nicht. Immer wenn ich den letzten Wert ändere, wird das Datum gelöscht,
und VBA zählt einen Tag und schreibt ihn in die zuvor gelöschte Zelle.Bsp.:
01.05.03
02.05.03
03.05.03
05.05.03 ( bei einmaliger Änderung),bei zweimaliger Änderung: 06.05.03 u.s.w.
Trotzdem vielen Dank
Wolfgang
Anzeige
AW: Datum in VBA automatisch weiterführen
ChrisL
Hi Wolfgang
Noch ein Versuch...

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 2 Then
With Cells(Target.Row, 2).Offset(18, -1)
If Target = "" Then
.Value = ""
Else
.Value = WorksheetFunction.Max(Columns(1)) + 1
.NumberFormat = "dd.mm.yyyy"
End If
End With
End If
End Sub

Gruss
Chris
AW: Datum in VBA automatisch weiterführen
22.11.2004 15:58:59
Wolfgang
Hallo Chris
funktioniert leider auch nicht. Der gleiche Fehler wie beim letzten Versuch.
Kannst ja selbst mal eine kleine Tabelle erstellen und dann testen.
Gruß
Wolfgang
AW: Datum in VBA automatisch weiterführen
ChrisL
Hi Wolfgang
Getestet habe ich schon, aber das Problem gemäss deiner Beschreibung erkenne ich nur schlecht. Trage das Datum in die Hilfszelle X1 ein. Dann folgender Code

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 2 Then
With Cells(Target.Row, 2).Offset(18, -1)
If Target = "" Then
.Value = ""
Else
Dim HilfsZelle As Range
Set HilfsZelle = Range("X1")
HilfsZelle = HilfsZelle + 1
.Value = HilfsZelle
.NumberFormat = "dd.mm.yyyy"
End If
End With
End If
End Sub

Wenn dies auch nicht die Lösung ist, dann bin ich mit meinem Latein langsam am Ende. M.E. haben wir nun so ziemlich alle Varianten abgeklappert.
Gruss
Chris
Anzeige
AW: Datum in VBA automatisch weiterführen
22.11.2004 19:24:15
Wolfgang
Hallo Chris
Dieser Versuch klappt auch nicht. Wieder der gleiche Fehler. Wenn ein Wert in Spalte B
eingegeben wird zählt das Datum in A um einen Tag weiter. Wenn ich diesen gerade eingegebenen Wert verändere, so wird das Datum wiederum neu geschrieben(in der vorher das richtige Datum stand) mit +1, somit
steht nach dem 10.06.04 nicht der 11.06.04 sondern der 12.06.04. VBA liest das letzte
Datum aus und zählt 1 dazu und überschreibtschreibt dies.
Naja darf man den letzten Wert eben nicht ändern.
Nochmals vielen Dank
Gruß
Wolfgang

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige