Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen verschioeben wenn...

Zeilen verschioeben wenn...
27.10.2020 11:38:56
Luisa
Hallo zusammen,
folgendes Problem:
ich möchte gerne alle Zeilen in Spalte F in denen 'erledigt' eingetragen wird, aus Tabelle1 ausschneiden und in Tabelle 2 fortlaufend untereinander einfügen. Die leere Zeilen in Tabelle 1 sollen außerdem gelöscht werden.
Leider funktioniert mein Ansatz nicht, würde mich sehr über Hilfe freuen.
Sub zeilenkopieren()
Dim i As Long
With Sheets("Disskusion")
For i = .Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1
Debug.Print .Cells(i, "F")
'If .Cells(i, "F").Text Like "erledigt" Then
If StrComp(.Cells(i, "F"), "erledigt", 1) Then
.Rows(i).Copy Sheets("erledigt").Cells(Sheets("erledigt").Cells(Rows.Count, "F"). _
End(xlUp).Row + 1, "A")
Sheets(Disskusion).Activate
.Rows(i).Delete
End If
Next
End With
ActiveWorkbook.Save
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen verschioeben wenn...
27.10.2020 12:03:35
Werner
Hallo,
ich bin davon ausgegangen, dass deine Datenbereich in A1 beginnt und in Zeile 1 Überschriften vorhanden sind.
Option Explicit
Public Sub Verschieben()
Dim loLetzte As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Worksheets("Tabelle1")
If WorksheetFunction.CountIf(.Columns("F"), "erledigt") > 0 Then
.Range("A1").AutoFilter field:=6, Criteria1:="erledigt"
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Copy
With Worksheets("Tabelle2")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(1, "A") = "" Then loLetzte = 1
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
.Offset(1).Resize(.Rows.Count - 1).Delete
End With
.Range("A1").AutoFilter
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Zeilen verschioeben wenn...
27.10.2020 13:09:55
Luisa
Vielen Dank für die Antwort! Leider überspringt er ab then bis end with,
Hier die Excel, das ist wahrscheinlich einfacher
https://www.herber.de/bbs/user/141122.xlsm
AW: Zeilen verschioeben wenn...
27.10.2020 13:22:59
Werner
Hallo,
da steht auch nicht erledigt in der Spalte F sondern erledigt gefolgt von einem Leerzeichen. Und das ist für den Code halt nicht das selbe.
Entferne mal bei jedem erledigt das Leerzeichen am Ende.
Und noch was:
Es macht keinen Sinn, eine Beispielmappe hochzuladen, wenn sie in ihrem Aufbau nicht deinem Original entsprich. Und ich nehme mal nicht an, dass es in deiner Originaldatei zwischen Spalte A und Spalte F tatsächlich Spalten gibt, die komplett leer sind.
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige