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

VBA - Nur gefilterte Zellen kopieren

VBA - Nur gefilterte Zellen kopieren
18.02.2022 16:19:26
Chris
Hallo Zusammen,
ich habe folgende Frage:
Ich möchte von Tabellenblatt "A" den Inhalt von 3 Spalten in Tabellenblatt "B" per Makro kopieren - fortlaufend immer in die nächste leere Spalte.
Auf einer der im Tabellenblatt "A" liegt ein Filter auf den zu kopierenden Werten - mit folgendem Code werden sowohl gefilterte wie aus ausgefilterte Werte kopiert - ich möchte allerdings nur Werte kopieren die sichtbar sind:
Dim vaAltData As Variant
Dim shtNew As Worksheet
Dim iLastColNo As Integer
Set shtNew = Tabelle15
'Load Alt data into array
vaAltData = Range("Alt_Data")
'Load last column number with data in Excel_new sheet
iLastColNo = Range("last_column_with_data").Value2
'Paste Alt data in New sheet after last non-empty column
shtNew.Cells(1, iLastColNo + 1).Resize(UBound(vaAltData, 1), UBound(vaAltData, 2)) = vaAltData
Danke für eure Hilfe und gutes Wochenende,
Chris

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 16:29:24
Nepumuk
Hallo Chris,
benutze die Copy-Methode, die kopiert nur die sichtbaren Zeilen.
Gruß
Nepumuk
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 16:48:48
Chris
Hallo Nepumuk,
danke für den Hinweis, ich habe das probiert und in einem neuen Tabellenblatt klappt das auch.
Nur ist mein Kopiervorgang etwas komplizierter und ich weiß nicht wie das in VBA mit Copy-Paste Formulieren soll aber:
Es sollen immer die gleichen Spalten kopiert werden, das einfügen soll jedoch immer mit zwei Leerspalten dazwischen erfolgen.
Also kopiere Spalte A+B (Tabelle 1) in Spalte D+E in Tabelle 2, kopiere dann wieder A+B Tabelle 1 in Spalte G+F von Tabelle2.
Dieser Vorgang funktioniert mit dem Code unten, nur eben mit allen Zellen. Ist eine Anpassung - nur der letzten Einfügezeile nicht möglich?
'Paste Alt data in New sheet after last non-empty column
shtNew.Cells(1, iLastColNo + 1).Resize(UBound(vaAltData, 1), UBound(vaAltData, 2)) = vaAltData
Danke für deine erneute Info und viele Grüße
Chris
Anzeige
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 16:50:33
Jürgen
ThisBook.Worksheets("Übersicht").Range("A1:" & strErg & lzeil).AutoFilter Field:=23, Criteria1:="OK", Operator:=xlFilterValues
'Sendungsnummer B
ThisBook.Worksheets("Übersicht").Range("B1:B" & lzeil).Copy
ThisBook.Worksheets("Auswertung").Range("A20").PasteSpecial xlPasteValues
'Empfänger Name E
ThisBook.Worksheets("Übersicht").Range("E1:E" & lzeil).Copy
ThisBook.Worksheets("Auswertung").Range("B20").PasteSpecial xlPasteValues
'Empfänger PLZ F
ThisBook.Worksheets("Übersicht").Range("F1:F" & lzeil).Copy
ThisBook.Worksheets("Auswertung").Range("C20").PasteSpecial xlPasteValues
'Empfänger Ort G
ThisBook.Worksheets("Übersicht").Range("G1:G" & lzeil).Copy
ThisBook.Worksheets("Auswertung").Range("D20").PasteSpecial xlPasteValues
'Liefertermin Datum Soll J
ThisBook.Worksheets("Übersicht").Range("J1:J" & lzeil).Copy
ThisBook.Worksheets("Auswertung").Range("E20").PasteSpecial xlPasteValues
Ich mach das auf diese Weise
Anzeige
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 17:07:21
Nepumuk
Hallo Chris,
mach es nach diesem Muster. Du musst nur noch die Schleife für den Filterwechsel einbauen:

Public Sub Test()
With ActiveSheet.AutoFilter.Range
Call Range(.Cells(1, 1), .Cells(.Rows.Count, 2)).Copy
End With
With Tabelle15
If IsEmpty(.Cells(1, 1).Value) Then
Call .Cells(1, 1).PasteSpecial(Paste:=xlPasteValues)
Else
Call .Cells(1, .Columns.Count).End(xlToLeft).Offset(0, 3).PasteSpecial(Paste:=xlPasteValues)
End If
End With
End Sub
Gruß
Nepumuk
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 18:03:51
Chris
Hallo Nepumuk,
vielen Dank für das schnelle Feedback, ich bin jetzt offline, werde aber Anfang der Woche ausprobieren und nochmal Feedback geben.
Schönes Wochenende,
Chris
Anzeige
AW: VBA - Nur gefilterte Zellen kopieren
22.02.2022 07:45:32
Chris
Hallo Nepumuk,
ich hab es in die Originaldatei eingebaut und es funktioniert perfekt. Vielen Dank für deine Hilfe!
Chris
AW: VBA - Nur gefilterte Zellen kopieren
18.02.2022 16:35:25
Jürgen
...Worksheets("DeinSheet").Range("A1:Z" & lzeil).AutoFilter Field:=23, Criteria1:="OK", Operator:=xlFilterValues
... Worksheets("DeinSheet").Range("A1:Z" & lzeil).Copy
...Worksheets("Ziel").Range("A20").PasteSpecial xlPasteValues
ich mach das so in meinem Sheet

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige