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

automatisch Datum eintragen

automatisch Datum eintragen
16.09.2003 10:48:14
Joerg
Hallo,

Ich springe mit Hilfe eines Commandbuttons von Tabellenblatt1 nach Tabellenblatt2.
Bei jedem Srung nach Tabellenblatt2 soll geprüft werden, ob in Spalte A2 das aktuelle Datum steht, wenn ja dann soll der Cursor in das Feld B2 springen, wenn nein soll eine Zeile tiefer (A3) das aktuelle Datum in die Spalte A eingegeben werden und der Cursor dementsprechend nach B3 springen usw..
Ich verzweifel mit Variablenzuweisungen und if Schleifen.

Wer kann mir helfen ??

Gruss Joerg

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatisch Datum eintragen
16.09.2003 11:02:47
Galenzo
Geht ohne Variablen und Schleifen:
Trage im Modul deines Tabellenblattes "Tabelle2" diese Sub ein:


Private Sub Worksheet_Activate()
    If Range("A2").Value = Date Then
        Range("B2").Select
    Else
        Range("A3").Value = Date
        Range("B3").Select
    End If
End Sub

Anzeige
AW: automatisch Datum eintragen
16.09.2003 13:24:35
Joerg
Hi,

erstmal Danke, Deine Antwort ist korrekt, aber ich habe mich vielleicht unglücklich ausgedrückt,
das ganze soll sagen wir mal von A2 bis A99 funktionieren.
Fällt Dir da eine Lösung ein ?

Joerg
AW: bitte präziser...
17.09.2003 09:18:35
Galenzo
Sorry, aber ich verstehe deine Frage noch nicht.
Was soll wie für A2-A99 funktionieren?
Ich sehe das bis jetzt so:
Wenn in A2 nicht das korrekte Datum gefunden wird, dann wird es ja in A3
eingetragen. Somit wird dann ja in A3 das korrekte Datum gefunden - weil
es ja eben grade dort eingetragen wurde. Und damit wäre an DER Stelle dann ja Schluß,
und die restlichen Zellen A4-A99 würden nicht weiter verarbeitet.
Überdenke das mal bitte und formuliere etwas präziser, was wann wo geprüft weden soll, und was in den möglichen Fällen getan/gesetzt werden soll.

mfg - Galenzo
Anzeige
AW: bitte präziser...
17.09.2003 19:34:57
Joerg
Hallo,

also, im Tabellenblatt gibt es 2 Spalten (A,B).
Springe ich jetzt in das Tabellenblatt2 soll folgendes geprüft werden:
- steht in Spalte A das aktuelle Datum ?
-> ja dann springe in die nächste freie Zelle in Spalte B.
-> nein dann trage das aktuelle Datum in die nächste frei Zelle in Spalte A ein,
sofern die daneben liegende Zelle in B auch frei ist und springe anschliessend in die freie Zelle in B.
- steht in A nicht das aktuelle Datum
-> dann trage das aktuelle Datum in die nächste frei Zelle in Spalte A ein, sofern
die daneben liegende Zelle in B auch frei ist und springe anschliessendin die freie Zelle in B.

Ich hoffe das ist verständlicher

Gruss Joerg
Anzeige
AW: Versuch
18.09.2003 11:13:49
Galenzo
Hmm, hab's zwar immernoch nicht so richtig kapiert, aber ich habe dir mal als Denkansatz
diese SUB gebastelt. Macht folgendes:
Bei Aktivierung der Tabelle 2 wird geprüft, ob in A2 das aktuelle Datum steht.
Wenn ja, dann wird zur ersten freien Zelle in Spalte B gesprungen.
Wenn in A2 NICHT das aktuelle Datum steht, dann wird zunächst die nächste freie Zelle
in Spalte A gesucht, und wenn daneben in Spalte B frei ist, wird das aktuelle Datum in Spalte A eingetragen und die Nachbarzelle ausgewählt.




Private Sub Worksheet_Activate()
Dim rng As Range

    If Range("A2").Value = Date Then
        ' nächste leere Zelle in Spalte B finden
        Set rng = Cells(Cells(1, 2).End(xlDown).Row + 1, 2)
    Else
        ' nächste leere Zelle in Spalte A finden
        Set rng = Cells(Cells(1, 1).End(xlDown).Row + 1, 1)
        ' wenn die Nachbarzelle in B leer, dann Datum in A eintragen
        If IsEmpty(Cells(rng.Row, 2)) Then
            rng.Value = Date
            Set rng = Cells(rng.Row, 2)
        End If
    End If
    ' Zelle auswählen
    rng.Select
End Sub

Anzeige
AW: Versuch
18.09.2003 22:30:39
Joerg
Hi,

erstmal Danke für Deine Mühen,
die Lösung erscheint mir wie gewünscht, es hapert leider bei der Ausführung.
Jedesmal wenn Tabellenblatt2 aktiviert wird, erhalte ich die Fehlermeldung

Fehler beim kompilieren:
Sub oder Function nicht definiert

und die folgende Zeile erscheint in rot :

If IsEmpty(Cells(rng.Row, 2)) Then

was tun????

Gruss Joerg
AW: Versuch
19.09.2003 08:06:36
Galenzo
Hmm, ob das an deiner Excel-Version liegt?
Ich weiß nicht ob es diese Funktion bei dir schon gibt.(..ich habe hier XL2k)
Workaround: If Cells(rng.Row, 2).Value = "" Then

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige