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
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 ...
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!