Office: (Office 2019) Datum nach Eingabe automatisch in Zelle einfügen

Helfe beim Thema Datum nach Eingabe automatisch in Zelle einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Spezialisten, ich habe hier einen Code gefunden, der für mich fast perfekt ist. Private Sub Worksheet_Change(ByVal Target As Range) 'Quelle:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Karlheinz16, 30. Oktober 2023.

  1. Datum nach Eingabe automatisch in Zelle einfügen


    Hallo Spezialisten,
    ich habe hier einen Code gefunden, der für mich fast perfekt ist.
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Quelle: Ransi
        If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
        If Target.Count > 1 Then Exit Sub 'Bearbeiten mehrerer Zeilen wird abgefangen
        If Target = "" Then
            Target.Offset(0, 1).ClearContents
            Else:
            Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
        End If
    End Sub
    Ich habe versucht, den Code für 2 Spalte zu ändern, also nicht nur ("A1:A10") sondern auch noch ("L1:L10"). Dazu habe ich es so versucht:
    Code:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Quelle: Ransi
        If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
        If Target.Count > 1 Then Exit Sub 'Bearbeiten mehrerer Zeilen wird abgefangen
        If Target = "" Then
            Target.Offset(0, 1).ClearContents
            Else:
            Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
     If Intersect(Target, Range("L1:L10")) Is Nothing Then Exit Sub
        If Target.Count > 1 Then Exit Sub 'Bearbeiten mehrerer Zeilen wird abgefangen
        If Target = "" Then
            Target.Offset(0, 1).ClearContents
            Else:
            Target.Offset(0, 1) = CDate(Format(Now, "dd.mm.yyyy"))
        End If
    End Sub
    Leider funktioniert das so nicht. Kann mir bitte jemand helfen?
    Vielen Dank im Voraus
    Gruß Karlheinz
     
    Karlheinz16, 30. Oktober 2023
    #1
  2. RPP63_neu
    RPP63_neu Erfahrener User
    Moin!
    Wenn Du etwas irgendwo außerhalb von A1:A10 änderst dann sorgt das erste Then Exit Sub zum Verlassen der Routine.
    Die Bereiche kann man sofort zusammenfassen:
    Range("B1:B11,L1:L11")
    Ich nehme bei so etwas nie If Intersect(Bereich) Is Nothing Then Exit Sub
    sondern If Not Intersect(Bereich) Is Nothing Then
    Außerdem nehme ich nicht
    If Target.Count > 1 Then Exit Sub
    sondern
    If Target.CountLarge = 1 Then
    Ferner ist folgendes völlig oversized:
    = CDate(Format(Now, "dd.mm.yyyy"))
    Hier reicht
    = Date
    Langer Rede kurzer Code:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("B1:B11,L1:L11")) Is Nothing Then
        With Target
          If .CountLarge = 1 Then 'Bearbeiten mehrerer Zeilen wird abgefangen
            If .Value = "" Then
              .Offset(0, 1).ClearContents
            Else
              .Offset(0, 1) = Date
            End If
          End If
        End With
      End If
    End Sub
    
    Gruß Ralf
     
    RPP63_neu, 30. Oktober 2023
    #2
  3. Hallo Ralf,
    vielen Dank für deine Code. Ich habe ich für mich getestet und habe einige Unterschiede festgestellt. Da ich VBA nicht so gut verstehe, kann ich dir bei deinen Erklärungen nicht 100% ig folgen, trotzdem danke dafür. Dann habe ich festgestellt, ich habe mich nicht klar und deutlich ausgedrückt. Ich wollte eigentlich 2 Spalten überwachen und dann in 2 verschiedene Zellen eingetragen haben. zum besseren Verständnis:
    a1 > 0; f1 =Datum mit Uhrzeit; l1 > 0; g1= Datum mit Uhrzeit.
    Bei deinem Code wird das Datum eingetragen aber leider ohne Uhrzeit. Ich habe versucht, das Format der Zelle zu ändern, dann wird das Datum angezeigt und die Uhrzeit mit 0:00. Ferner fand ich das ganz gut, dass wenn der Eintrag gelöscht wurde auch das Datum gelöscht wurde.
    Viele Grüß
    Karlheinz
     
    Karlheinz16, 30. Oktober 2023
    #3
  4. RPP63_neu
    RPP63_neu Erfahrener User

    Datum nach Eingabe automatisch in Zelle einfügen

    Ich habe Deinen Code bearbeitet, nicht aber Deinen bisher ungekannten Wunsch.
    Wenn Du nicht anpassen kannst, solltest Du gleich korrekt und vollständig beschreiben.
    Nun ja, bei Deinem aber auch …
    Incl. Uhrzeit: Now statt Date
    Die entscheidende Methode ist Offset
    Zelle.Offset(Zeilenversatz, Spaltenversatz)
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("A1:A11,L1:L11")) Is Nothing Then
        With Target
          If .CountLarge = 1 Then 'Bearbeiten mehrerer Zeilen wird abgefangen
            Select Case .Column 'Spaltenabfrage
              Case 1 'Spalte A
                If .Value = "" Then
                  .Offset(0, 5).ClearContents
                Else
                  .Offset(0, 5) = Now
                End If
              Case 12 'Spalte L
                If .Value = "" Then
                  .Offset(0, -5).ClearContents
                Else
                  .Offset(0, -5) = Now
                End If
            End Select
          End If
        End With
      End If
    End Sub
     
    RPP63_neu, 31. Oktober 2023
    #4
  5. Hallo Ralf,
    vielen Dank, dass du so geduldig mit mir bist. Meine Ideen sind nicht leicht zu verstehen oder zu erklären. Leider kommen einige Dinge erst dann ans Licht, wenn es zu spät ist, sorry. Der "neue" Code ist genau das, was ich gesucht und gebraucht habe. Vielen vielen Dank, du bist KLASSE.
    Viele Grüße
    Karlheinz
     
    Karlheinz16, 31. Oktober 2023
    #5
Thema:

Datum nach Eingabe automatisch in Zelle einfügen

Die Seite wird geladen...
  1. Datum nach Eingabe automatisch in Zelle einfügen - Similar Threads - Datum Eingabe automatisch

  2. Datum nach Eingabe automatisch in Zelle einfügen

    in Microsoft Excel Hilfe
    Datum nach Eingabe automatisch in Zelle einfügen: Hallo, ich möchte Zellen so formatieren, dass wenn ich in die Zellen etwas eingebe, das aktuelle Datum in der Zelle nebendran eingefügt wird. Leider bekomme ich immer eine Fehlermeldung Bei diesem...
  3. Datum fixieren nach Eingabe in einer Zelle

    in Microsoft Excel Hilfe
    Datum fixieren nach Eingabe in einer Zelle: Hey, ich kenne mich mit VBA leider so gar nicht aus. Habe schon einiges hier über das Thema gelesen, allerdings schaffe ich es irgendwie nicht die Lösung entsprechend umzuzusetzen. Es geht um den...
  4. TextBox nicht verlassen, wenn Eingabe kein Datum

    in Microsoft Excel Hilfe
    TextBox nicht verlassen, wenn Eingabe kein Datum: Hallo zusammen, nachdem ich nun einen Grundlagen Kurs in Excel-VBA belegt habe, konnte ich einige meiner Probleme selbst lösen. *Smilie Jedoch bin ich auf ein neues gestoßen *frown.gif* Es wird...
  5. Tabellenblätter für Eingaben sperren ab bestimmtem Datum UND Uhrzeit

    in Microsoft Excel Hilfe
    Tabellenblätter für Eingaben sperren ab bestimmtem Datum UND Uhrzeit: Huhu, ich habe in einer Excel Tabelle mehrere Reiter (z.Bsp. 01.12.2020-31.12.2020). Nun möchte ich, dass z. Bsp. das Sheet vom 01.12.2020 nr bis zum 02.12.2020 6 Uhr morgens bearbeitbar ist....
  6. Eingabe nach Bestätigung mit Datum und Uhrzeit dokumentieren

    in Microsoft Excel Hilfe
    Eingabe nach Bestätigung mit Datum und Uhrzeit dokumentieren: Hallo Zusammen, Ich hab ein großes Problem. Und zwar möchte ich das meine Eingaben in einer Zelle (Dezimalwert mit 2 oder 3 Nachkommastellen) bei der Bestätigung mit Enter, einen Datums und...
  7. Datum-Eingabe im Format MMM/YYYY wenn möglich englisch

    in Microsoft Excel Hilfe
    Datum-Eingabe im Format MMM/YYYY wenn möglich englisch: Hallo, ich habe mal noch ein kleines Problem. In meiner Datenbank soll in dem UserForm das Datum der letzten Wartung eingegeben werden und aus dem Wartungsintervall dann die nächste Wartung...
  8. Datum nach Eingabe automatisch in Zelle einfügen

    in Microsoft Excel Hilfe
    Datum nach Eingabe automatisch in Zelle einfügen: Hallo, ich möchte Zellen so formatieren, dass wenn ich in die Zellen etwas eingebe, das aktuelle Datum in der Zelle nebendran eingefügt wird. Ist bestimmt leicht zu lösen, jedoch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden