Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Bedingte Zeile Kopieren

Bedingte Zeile Kopieren
28.01.2021 20:59:37
Overzier
Hallo zusammen, ich möchte in Tabellenblatt 1 eine oder mehrere Zeilen kopieren wenn eine Bedingung erfüllt ist. Diese Zeilen sollen dann in Tabellenblatt 2 in die erste frei Zeile ab Zeile 5 kopiert werden und im Anschluss sollen die kopierten Zeilen aus Blatt1 gelöscht werden. Das kopieren und löschen klappt auch aber das kopieren in die 1. frei Zeile leider nicht. Bin dankbar für Eure Lösungsvorschläge und hoffe Ihr könnt mir weiterhelfen.
Danke Martin.
Das ist mein Makro:

Sub Zeile_kopieren()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
With Sheets("LOP")
ZeileMax = .UsedRange.Rows.Count
n = 5 + 1
For Zeile = 5 To ZeileMax
If .Cells(Zeile, 9).Value = "closed" Then
.Rows(Zeile).Copy Destination:=Sheets("closed").Rows(n)
n = n + 1
End If
Next Zeile
End With
End Sub


Sub Zeilelöschen()
Dim Zeile As Long
Dim ZeileMax As Long
With Sheets("LOP")
ZeileMax = .UsedRange.Rows.Count
For Zeile = ZeileMax To 1 Step -1
If .Cells(Zeile, 9).Value = "closed" Then
.Rows(Zeile).Delete
End If
Next Zeile
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Zeile Kopieren
28.01.2021 21:28:49
GerdL
Moin


n = Sheets("closed").Cells(Sheets("closed").Rows.Count, 9).End(xlUp).Row + 1
If n 

Gruß Gerd
AW: Bedingte Zeile Kopieren
29.01.2021 06:02:38
Werner
Hallo,
das würde ich über den Autofilter machen und nicht per Schleife.
Sub Schaltfläche1_Klicken()
Dim loLetzte As Long
Application.ScreenUpdating = False
With Worksheets("LOP")
If WorksheetFunction.CountIf(.Columns("I"), "closed") > 0 Then
.Range("A4").AutoFilter Field:=9, Criteria1:="closed"
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Copy
With Worksheets("closed")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(5, "A") = "" Then loLetzte = 5
.Cells(loLetzte, "A").PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats
End With
.Offset(1).Resize(.Rows.Count - 1).Delete shift:=xlUp
.Range("A4").AutoFilter
End With
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Bedingte Zeile Kopieren
29.01.2021 12:36:14
Overzier
Hallo Werner,
danke für deine Rückmeldung, Dein Makro funktioniert sehr gute, danke dafür, aber kannst Du mir sagen warum die bedingte Formatierung beim kopieren nicht übernommen wird?
Danke Martin
AW: Bedingte Zeile Kopieren
29.01.2021 21:37:48
Werner
Hallo,
na weil ich dem Code das so gesagt habe, es werden nur die Zellinhalte und die Zahlenformate kopiert.
Ändere das hier:
.Cells(loLetzte, "A").PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats

um in:
.Cells(loLetzte, "A").PasteSpecial _
Paste:=xlPasteAll
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige