Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum automatisch eintragen

Datum automatisch eintragen
21.09.2003 12:33:55
Joerg
Hallo,

erneut ein Problem, für das ich leider trotzdem es schon mal im Forum war noch keine Lösung habe.

Wird ein Tabellenblatt aufgerufen, soll in Spalte A das Tagesdatum eingetragen werden, wenn die danebenstehenden Zelle der Spalte B leer ist.
Rufe ich das Blatt am nächsten Tag wieder auf, soll erneut in der nächsten freien Zelle in Spalte A das Tagesdatum eingetragen werden, wenn die danebenliegende Zelle in Spalte B leer ist.
Pro Tag soll das Datum aber nur einmal eingetragen werden.

Danke Joerg

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum automatisch eintragen
21.09.2003 12:39:38
Ramses
Hallo


Option Explicit

Private Sub Worksheet_Activate()
Dim Cr As Integer
Cr = Range("A65536").End(xlUp).Row
If Format(Cells(Cr, 1).Value, "dd.mm.yyyy") <> Format(Now, "dd.mm.yyyy") And Cells(Cr, 2) = "" Then
    Cells(Cr, 1) = Format(Now, "dd.mm.yyyy")
End If
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer
Anzeige
AW: Datum automatisch eintragen
21.09.2003 13:07:04
Joerg
Hi,

funktioniert leider nur bei ersten Aufruf,
Datum steht dann in Zeile A1, jetzt trage ich einen Text in B1 ein.
Rufe ich das Programm jetzt am nächsten Tag wieder auf, soll in der nächsten freien Zelle ( wäre dann A2 ) in Spalte A wieder das Datum eingetragen werden, wenn die nebenstehende Zelle in Spalte B (also B2) leer ist. Sonst soll das Programm die nächste freie Zelle in Spalte A suchen, die neben einer freien Zelle in Spalte B liegt.
usw.

Gruss Joerg
Probiers morgen noch mal....
21.09.2003 13:14:38
Ramses
Hallo,

... oder hast du zum testen dein Systemdatum verändert :-)

Muss allerdings gestehen, dass ein kleiner Lapsus drin ist :-)

Ändere

Cells(Cr, 1) = Format(Now, "dd.mm.yyyy")

in

Cells(Cr+1, 1) = Format(Now, "dd.mm.yyyy")

sonst wird immer der Wert in A1 überschrieben

Gruss Rainer
Anzeige
AW: Probiers morgen noch mal....
21.09.2003 13:28:46
Joerg
Hallo Rainer,

funktioniert gut, solange in Spalte B kein Text steht. Manchmal (nicht immer) möchte ich neben das Datum in Spalte B ein Text eintragen. Dann trägt er mir am nächsten Tag ( Systemdatum geändert !! :-)) kein Datum mehr ein.

Gruss Joerg
???
21.09.2003 15:16:12
Ramses
Hallo

Dann kannst du ja die Prüfung auf "Bx" wegfallen lassen

Option Explicit


Private Sub Worksheet_Activate()
Dim Cr As Integer
Cr = Range("A65536").End(xlUp).Row
Debug.Print Cr
If Format(Cells(Cr, 1).Value, "dd.mm.yyyy") <> Format(Now, "dd.mm.yyyy") Then
Cells(Cr + 1, 1) = Format(Now, "dd.mm.yyyy")
End If
End Sub


Gruss Rainer
Anzeige
AW: unglücklich ausgedrückt
21.09.2003 15:52:29
Joerg
Hallo,

ich glaube ich habe mich unglücklich ausgedrückt.
Die Prüfung ob Spalte B <>"" ist insofern wichtig, da z.B. :
Aktuelles Datum steht in A2, Text in B2, B3, B4
dann soll am nächsten Tag in A5 das aktuelle Datum eingetragen werden, so das ich bei Bedarf in B5 wieder etwas eintragen kann.
Wichtig ist also, das jedesmal wenn ein Datum in der Spalte A eingetragen wird, die danebenliegende Zelle in B leer ist.
Ich weiss in Voraus nicht wieviele Einträge ich für den aktuellen Tag in B machen muß, daher die Prüfung ob die Zelle in Spalte B leer ist.
Dann muss man das Pferd anders aufzäumen....
21.09.2003 17:57:09
Ramses
Hallo

... solche Sachen gehören einfach in die Fragestellung:

"...Ich weiss in Voraus nicht wieviele Einträge ich für den aktuellen Tag in B machen muß, ..."

Woher soll man das denn wissen.

Option Explicit


Private Sub Worksheet_Activate()
Dim Cr As Integer
Cr = Range("A65536").End(xlUp).Row
Debug.Print Cr
If Format(Cells(Cr, 1).Value, "dd.mm.yyyy") = Format(Now, "dd.mm.yyyy") Then
Exit Sub
Else
Cells(Range("B65536").End(xlUp).Row + 1, 1) = Format(Now, "dd.mm.yyyy")
End If
End Sub


Gruss Rainer
Anzeige
AW: Perfekt
21.09.2003 18:09:39
Joerg
Hallo,

klappt jetzt wie gewünscht,

besten Dank

Joerg

130 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige