Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum automatisch in andere Zelle kopieren

Datum automatisch in andere Zelle kopieren
15.01.2009 14:00:41
ThomasB
Hallo,
Nach langem möchte ich ein wenig in Excel wieder üben. Für meine Frau will ich eine Zuchttabelle für Kaninchen erstellen. soweit habe ich das auch in Griff. Nur mit dem Datum und der automatischen Kopierung gibt es ein kleines Problem. In der Celle C2 wird das erste Deckdatum eingetragen. Dieses wir +30 Tage addiert und soll dann automatisch in die Celle B8 geschrieben werden. Wenn in D2 ein weiteres Deckdatum eingetragen wird dann +30 Tage und auf B8 geschrieben. usw bis evtl. F2 gefüllt. Das konnte mit dem untenstehenden Makro schonmal realisieren. Wenn zusätzlich C8 gefüllt wird dann soll C2-F2 gelöscht werden und bei Neueintrag auf C2 soll das Datum dann auf Celle B9 geschrieben werden. Dieser Vorgang wiederholt sich dann wenn C9 gefüllt wird.
Mein Versuch:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim bereich As Range
Dim i As Integer
If Cells(2, 3) = "" Then
MsgBox "Datum in C2 fehlt!"
Range("D2").Select
Exit Sub
End If
If Cells(1, 1)  "erledigt" Then
i = Sheets("Tabelle1").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
If i 


Hoffentlich ist es verständlich was ich machen möchte.
MFG
TB

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum automatisch in andere Zelle kopieren
16.01.2009 09:48:00
fcs
Hallo Thomas,
für deinen Fall ist es günstiger mit dem Change-Ereignis statt dem SelectionChange-Ereignis zu arbeiten.
Die folgende Makro-Variante sollte deine Wünsche abdecken.
Dabei werden Zellbereiche C2:F2 und C8:C1000 auf Eingaben/Änderungen überwacht und dann entsprechende Prüfungen/Aktionen ausgeführt.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Spalte As Long
If Not Intersect(Target, Range("C2:F2")) Is Nothing And Target.Count = 1 Then
'Prüfen, ob Eingabe ein Datum
If IsDate(Target) Then
'Prüfen ob Datum in Zellen links von Eingabe Zelle eingetragen ist
For Spalte = 3 To Target.Column - 1
If IsEmpty(Cells(2, Spalte)) Then
MsgBox "Bitte erst Datum in Zelle """ & Cells(2, Spalte).Address & """ eingeben."
Application.EnableEvents = False
Target.ClearContents
Cells(2, Spalte).Select
Application.EnableEvents = True
Exit Sub
End If
Next
'Eingabe + 30 in spalte B eintragen
'Wert wird unterhalb des letzten Eintrags in Spalte C eingetragen
Application.EnableEvents = False
If Cells(Rows.Count, 3).End(xlUp).Row 


Anzeige
AW: Datum automatisch in andere Zelle kopieren
16.01.2009 15:14:27
ThomasB
Hallo Franz,
danke für die Hilfe. Da hatte ich doch ein wenig zu simpel gedacht.
ThomasB
Frage beantwortet
16.01.2009 18:19:00
Schließer
owt
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datum automatisch in andere Zelle kopieren


Schritt-für-Schritt-Anleitung

Um ein Datum automatisch in eine andere Zelle zu kopieren, kannst du das Worksheet_Change-Ereignis in VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das Arbeitsblatt aus, in dem du das Datum kopieren möchtest.
  3. Füge den folgenden Code in das Codefenster des Arbeitsblatts ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Spalte As Long
    If Not Intersect(Target, Range("C2:F2")) Is Nothing And Target.Count = 1 Then
        ' Prüfen, ob Eingabe ein Datum
        If IsDate(Target) Then
            ' Prüfen ob Datum in Zellen links von Eingabe Zelle eingetragen ist
            For Spalte = 3 To Target.Column - 1
                If IsEmpty(Cells(2, Spalte)) Then
                    MsgBox "Bitte erst Datum in Zelle """ & Cells(2, Spalte).Address & """ eingeben."
                    Application.EnableEvents = False
                    Target.ClearContents
                    Cells(2, Spalte).Select
                    Application.EnableEvents = True
                    Exit Sub
                End If
            Next
            ' Eingabe + 30 in Spalte B eintragen
            Application.EnableEvents = False
            Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = Target.Value + 30
            Application.EnableEvents = True
        End If
    End If
End Sub
  1. Schließe den VBA-Editor und teste deine Eingaben in den Zellen C2 bis F2.

Häufige Fehler und Lösungen

  • Fehler: Excel Datum nicht automatisch übernommen.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist und du das richtige Arbeitsblatt bearbeitest.
  • Fehler: Datumsstempel automatisch wird nicht aktualisiert.

    • Lösung: Überprüfe, ob das Application.EnableEvents korrekt gesetzt ist, um unerwünschte Schleifen zu vermeiden.

Alternative Methoden

Eine alternative Methode, um ein Datum aus einer anderen Zelle zu übernehmen, ist die Verwendung von Formeln:

  1. Verwende die Formel =C2+30 in Zelle B8, um das Datum automatisch zu berechnen.
  2. Dies funktioniert gut, wenn die Zelle C2 gefüllt ist.

Wenn du eine dynamische Lösung möchtest, kannst du auch die WENN-Funktion verwenden, um sicherzustellen, dass nur gültige Daten übernommen werden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Excel Datum kopieren kannst:

  • Beispiel 1: Wenn du in Zelle C2 das Datum 01.01.2023 einträgst, wird in Zelle B8 das Datum 31.01.2023 automatisch geschrieben.
  • Beispiel 2: Wenn du in D2 ein weiteres Datum einträgst, wird das Datum 30 Tage später ebenfalls automatisch in die nächste freie Zelle in Spalte B übertragen.

Tipps für Profis

  • Nutze die Tastenkombination ALT + F8, um deine Makros schnell auszuführen.
  • Halte deine VBA-Codes gut dokumentiert, damit du später leicht nachvollziehen kannst, was jeder Teil des Codes bewirkt.
  • Experimentiere mit Benutzerdefinierten Funktionen, um komplexere Berechnungen oder Datenübertragungen durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich das Excel Speicherdatum in einer Zelle automatisch eintragen?
Du kannst das aktuelle Datum mit =HEUTE() in einer Zelle eintragen, das sich automatisch aktualisiert, wenn die Datei geöffnet wird.

2. Funktioniert das Makro auch in Excel Online?
Leider unterstützen Excel Online keine VBA-Makros. Du musst die Desktop-Version verwenden, um das Datum automatisch zu übertragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige