Note: The other languages of the website are Google-translated. Back to English

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

Hinweis: 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:


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

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!
officetab unten
Kommentare (3)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ist es möglich, dies für eine ganze Arbeitsmappe zu tun, wenn das Datum immer in derselben Spalte steht? Wenn ja, wie wäre der VBA-Code oder welches Bit würde ich ändern?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hast du darauf eine Antwort bekommen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hier gilt das gleiche. Hätte wirklich gerne eine Antwort!
VIELEN DANK SCHON EXTENDOFFICe :D
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL