Wie verschiebt man eine gesamte Zeile in ein anderes Blatt basierend auf einem Zellenwert in Excel?
Um eine gesamte Zeile basierend auf einem Zellenwert in ein anderes Blatt zu verschieben, wird dieser Artikel Ihnen helfen.
Verschieben einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert mit VBA-Code
Verschieben einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert mit Kutools für Excel
Verschieben einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert mit VBA-Code
Wie im folgenden Screenshot gezeigt, müssen Sie die gesamte Zeile von Blatt1 nach Blatt2 verschieben, wenn das spezifische Wort „Done“ in Spalte C vorhanden ist. Sie können den folgenden VBA-Code ausprobieren.
1. Drücken Sie gleichzeitig die Tasten Alt + F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.
2. Klicken Sie im Fenster Microsoft Visual Basic for Applications auf Einfügen > Modul. Kopieren und fügen Sie dann den folgenden VBA-Code in das Fenster ein.
VBA-Code 1: Verschieben einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Hinweis: Im Code ist Blatt1 das Arbeitsblatt, das die zu verschiebende Zeile enthält. Und Blatt2 ist das Zielarbeitsblatt, wo Sie die Zeile platzieren werden. „C:C“ ist die Spalte, die einen bestimmten Wert enthält, und das Wort „Done“ ist der bestimmte Wert, auf dessen Grundlage Sie die Zeile verschieben werden. Bitte ändern Sie diese entsprechend Ihren Bedürfnissen.
3. Drücken Sie die Taste F5, um den Code auszuführen, dann wird die Zeile, die die Kriterien in Blatt1 erfüllt, sofort nach Blatt2 verschoben.
Hinweis: Der obige VBA-Code löscht Zeilen aus den ursprünglichen Daten, nachdem sie in ein bestimmtes Arbeitsblatt verschoben wurden. Wenn Sie stattdessen nur Zeilen basierend auf einem Zellenwert kopieren möchten, ohne sie zu löschen, wenden Sie bitte den folgenden VBA-Code 2 an.
VBA-Code 2: Kopieren einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Verschieben einer ganzen Zeile in ein anderes Blatt basierend auf einem Zellenwert mit Kutools für Excel
Wenn Sie neu in der Verwendung von VBA-Code sind, stelle ich Ihnen hier das Hilfsprogramm Bestimmte Zellen auswählen von Kutools für Excel vor. Mit diesem Hilfsprogramm können Sie ganz einfach alle Zeilen basierend auf einem bestimmten Zellenwert oder verschiedenen Zellenwerten in einem Arbeitsblatt auswählen und die ausgewählten Zeilen bei Bedarf in das Zielarbeitsblatt kopieren. Gehen Sie wie folgt vor.
1. Wählen Sie die Spaltenliste aus, die den Zellenwert enthält, auf dessen Grundlage Sie Zeilen verschieben möchten, und klicken Sie dann auf Kutools > Auswählen > Bestimmte Zellen auswählen. Siehe Screenshot:
2. Wählen Sie im sich öffnenden Dialogfeld Bestimmte Zellen auswählen die Option Gesamte Zeile im Abschnitt Auswahltyp aus, wählen Sie Gleich im Dropdown-Menü Typ angeben aus, geben Sie den Zellenwert in das Textfeld ein und klicken Sie dann auf die Schaltfläche OK.
Ein weiteres Dialogfeld Bestimmte Zellen auswählen erscheint, um Ihnen die Anzahl der ausgewählten Zeilen anzuzeigen, und gleichzeitig wurden alle Zeilen, die den angegebenen Wert in der ausgewählten Spalte enthalten, ausgewählt. Siehe Screenshot:
3. Drücken Sie die Tasten Strg + C, um die ausgewählten Zeilen zu kopieren, und fügen Sie sie dann in das gewünschte Zielarbeitsblatt ein.
Hinweis: Wenn Sie Zeilen basierend auf zwei unterschiedlichen Zellenwerten in ein anderes Arbeitsblatt verschieben möchten, zum Beispiel Zeilen basierend auf den Zellenwerten „Done“ oder „Processing“, können Sie die Oder-Bedingung im Dialogfeld Bestimmte Zellen auswählen aktivieren, wie im folgenden Screenshot dargestellt:
Wenn Sie eine kostenlose Testversion (30-Tag) dieses Hilfsprogramms nutzen möchten, klicken Sie bitte hier, um es herunterzuladen, und gehen Sie dann zur Anwendung der Berechnung gemäß den oben genannten Schritten.
Verwandte Artikel:
Beste Büroproduktivitätswerkzeuge
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!