Direkt zum Inhalt

Wie kopiere ich Zeilen und füge sie basierend auf dem Datum in Excel in ein anderes Blatt ein? 

Angenommen, ich habe eine Reihe von Daten. Jetzt möchte ich die gesamten Zeilen basierend auf einem bestimmten Datum kopieren und sie dann in ein anderes Blatt einfügen. Haben Sie gute Ideen für diesen Job in Excel?

Kopieren Sie die Zeilen und fügen Sie sie basierend auf dem heutigen Datum in ein anderes Blatt ein

Kopieren Sie Zeilen und fügen Sie sie in ein anderes Blatt ein, wenn das Datum größer als heute ist


Kopieren Sie die Zeilen und fügen Sie sie basierend auf dem heutigen Datum in ein anderes Blatt ein

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

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das 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 F5 Wenn Sie die Taste drücken, um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, die Datumsspalte auszuwählen, auf deren Grundlage Sie Zeilen kopieren möchten (siehe Abbildung):

4. Dann klick OK Wählen Sie in einem anderen Eingabeaufforderungsfeld eine Zelle in einem anderen Blatt aus, in der Sie das Ergebnis ausgeben möchten. Siehe Screenshot:

5. Und dann klick OK Schaltfläche, jetzt werden die Zeilen, deren Datum heute ist, sofort in das neue Blatt eingefügt, siehe Screenshot:


Kopieren Sie Zeilen und fügen Sie sie in ein anderes Blatt ein, wenn das Datum größer als heute ist

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

Der folgende VBA-Code kann Ihnen einen Gefallen tun:

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Modulfenster ein.

VBA-Code: Kopieren Sie Zeilen und fügen Sie sie ein, 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

Note: Im obigen Code können Sie die Kriterien ändern, z. B. weniger als heute oder die Anzahl der Tage, die Sie im Code benötigen Wenn TypeName (xVal) = "Datum" und (xVal <> "") und (xVal> = Datum und (xVal <Datum + 5)) Dann Skriptcode.

3. Dann drücken F5 Wählen Sie im Eingabeaufforderungsfeld die Datenspalte aus, die Sie verwenden möchten, siehe Screenshot:

4. Dann klick OK Wählen Sie in einem anderen Eingabeaufforderungsfeld eine Zelle in einem anderen Blatt aus, in der Sie das Ergebnis ausgeben möchten. Siehe Screenshot:

5. Drücke den OK Klicken Sie nun auf die Schaltfläche. Die Zeilen, deren Datum seit heute mindestens 5 Tage beträgt, wurden wie folgt kopiert und in das neue Blatt eingefügt:

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Is it possible to do this for an entire workbook if the date is always in the same column on each? If so, what would the VBA code be, or which bit would I change?
This comment was minimized by the moderator on the site
Did you get a reply on this?
This comment was minimized by the moderator on the site
Same here. Would really like an answer!
THANKS ALOT ALREADY EXTENDOFFICe :D
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations