Zum Hauptinhalt springen

Wie kopiert man Zeilen und fügt sie basierend auf einem Datum in ein anderes Arbeitsblatt in Excel ein? 

Author: Xiaoyang Last Modified: 2025-05-28

Angenommen, ich habe einen Datenbereich, und jetzt möchte ich die gesamten Zeilen basierend auf einem bestimmten Datum kopieren und sie dann in ein anderes Arbeitsblatt einfügen. Haben Sie gute Ideen, wie man diese Aufgabe in Excel bewältigen kann?

Kopieren von Zeilen und Einfügen in ein anderes Arbeitsblatt basierend auf dem heutigen Datum

Kopieren von Zeilen und Einfügen in ein anderes Arbeitsblatt, wenn das Datum größer als heute ist


Kopieren von Zeilen und Einfügen in ein anderes Arbeitsblatt basierend auf dem heutigen Datum

Wenn Sie die Zeilen kopieren müssen, falls das Datum heute ist, wenden Sie bitte den folgenden VBA-Code an:

1. Halten Sie die Tasten ALT + F11 gedrückt, um das Fenster Microsoft Visual Basic for Applications zu öffnen.

2. Klicken Sie auf Einfügen > Modul, und fügen Sie den folgenden Code im Modulfenster ein.

VBA-Code: Kopieren und Einfügen von Zeilen basierend auf dem heutigen Datum:

Sub CopyRow()
'Updateby Extendoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

3. Nachdem Sie den obigen Code eingefügt haben, drücken Sie bitte die F5-Taste, um diesen Code auszuführen, und ein Eingabeaufforderungsfenster wird angezeigt, das Sie daran erinnert, die Datums-Spalte auszuwählen, basierend auf der Sie die Zeilen kopieren möchten, siehe Screenshot:

a screenshot of selecting the date range after running the code

4. Klicken Sie dann auf die Schaltfläche OK, in einer weiteren Eingabeaufforderung wählen Sie eine Zelle in einem anderen Arbeitsblatt aus, wo Sie das Ergebnis ausgeben möchten, siehe Screenshot:

a screenshot of selecting a destination cell

5. Klicken Sie anschließend auf die Schaltfläche OK, nun werden die Zeilen, deren Datum heute ist, sofort in das neue Arbeitsblatt eingefügt, siehe Screenshot:

a screenshot of the results


Kopieren von Zeilen und Einfügen in ein anderes Arbeitsblatt, wenn das Datum größer als heute ist

Um die Zeilen zu kopieren und einzufügen, deren Datum größer oder gleich heute ist, zum Beispiel, wenn das Datum heute oder größer als 5 Tage seit heute ist, dann kopieren und fügen Sie die Zeilen in ein anderes Arbeitsblatt ein.

Der folgende VBA-Code könnte Ihnen helfen:

1. Halten Sie die Tasten ALT + F11 gedrückt, um das Fenster Microsoft Visual Basic for Applications zu öffnen.

2. Klicken Sie auf Einfügen > Modul, und fügen Sie den folgenden Code im Modulfenster ein.

VBA-Code: Kopieren und Einfügen von Zeilen, wenn das Datum größer als heute ist:

Sub CopyRow()
'Updateby Extentoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

Hinweis: Im obigen Code können Sie die Kriterien ändern, z. B. kleiner als heute oder die Anzahl der Tage, wie Sie es benötigen, im Skriptcode If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then.

3. Drücken Sie dann die F5-Taste, um diesen Code auszuführen, wählen Sie in der Eingabeaufforderung die Datenspalte aus, die Sie verwenden möchten, siehe Screenshot:

a screenshot of selecting the date range after running the code 2

4. Klicken Sie dann auf die Schaltfläche OK, in einer weiteren Eingabeaufforderung wählen Sie eine Zelle in einem anderen Arbeitsblatt aus, wo Sie das Ergebnis ausgeben möchten, siehe Screenshot:

a screenshot of selecting a destination cell to place the rows if date is greater than today

5. Klicken Sie auf die Schaltfläche OK, nun wurden die Zeilen, deren Datum heute oder größer als 5 Tage seit heute ist, kopiert und in das neue Arbeitsblatt eingefügt, wie im folgenden Screenshot gezeigt:

a screenshot showing the rows only when dates are greater than today


Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!