ich wollte mal fragen, wie ich einen bestimmten bereich von selektierten Daten Kopieren kann?
Also so, dass z.B. erst ab Spalte B und ohne Überschrift kopiert wird.
Gruß
René
Range("B1:Z20").Copy
Grußdass z.B. erst ab Spalte B und ohne Überschrift kopiert wird
Dann antworte ich Dir, wie man das macht und frage noch nach,
wie sieht denn Dein Befehl aus und was genau soll kopiert werden?
Nun geht es plötzlich um ausgeblendete Zellen...
'gefilterte Zellen markieren
Sub selectFilter()
Dim rg1 As Range, rg2 As Range, rg3 As Range, rg4 As Range
'alle sichtbaren Zellen im Filterbereich
'leider gehören dazu auch die Spaltenüberschriften
Set rg1 = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
'Überschriftenzeile ermitteln
Set rg2 = rg1.Rows(1)
'alle Spaltenüberschriften rausselektieren
For Each rg3 In rg1
If Application.Intersect(rg3, rg2) Is Nothing Then
'alle Zellen zu einem neuen Bereich (rg4) zusammenfassen, _
die sich nicht in der Überschriftenzeile befinden
If rg4 Is Nothing Then
Set rg4 = rg3
Else
Set rg4 = Union(rg4, rg3)
End If
End If
Next rg3
''gefilterte Zellen selektieren
''rg4.Select
rg4.copy
'alle Objektvariablen deaktivieren
Set rg1 = Nothing
Set rg2 = Nothing
Set rg3 = Nothing
Set rg4 = Nothing
End Sub
Gruß von Luschi
Sub Test ()
End Sub
Wenn du schonmal einen Autofilter (Excel -> Daten -> Filter -> Autofilter) verwendet hättest würdest du feststellen, dass der Autofilter Zeilen ausblendet wenn eine Selektion drinn ist. Genau diese will ich dann nicht Kopieren! :-P
@ Björn: Hier ist mein Code
Sub Test ()
End Sub
Wenn du schonmal einen Autofilter (Excel -> Daten -> Filter -> Autofilter) verwendet hättest wü _
rdest du feststellen,
dass der Autofilter Zeilen ausblendet wenn eine Selektion drinn ist. Genau diese will ich dann nicht Kopieren! :-P
Hallo,
ich habe über Autofilter bestimmte Zeilen ausgeblendet.
Wie kann ich nun die sichtbare Liste (ohne Überschrift) kopieren?
Kann mir da einer helfen?
Vielen Dank.
Gruß
René
Dann hätte jeder gewusst, was Du willst, und ich hätte Dir dann ganz einfach antworten können:Selection.SpecialCells(xlCellTypeVisible).Copy
Gruß aus dem Sauerland| VBA-Code: |
| Sub AutofilterErgebnisKopieren() 'Kopiert den sichtbaren Teile einer per Autofilter gefilterten Tabelle 'ohne Überschriften in ein anderes Tabellenblatt ActiveSheet.AutoFilter.Range.Offset(1). _ Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1). _ SpecialCells(xlCellTypeVisible).Copy _ Sheets(3).Cells(Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) End Sub Gruß, NoNet |
Um gefilterte Daten in Excel zu kopieren, kannst Du folgende Schritte befolgen:
Aktivieren des Autofilters:
Daten > Filter > Autofilter.Filtern der Daten:
Kopieren der gefilterten Daten:
ALT + F11.Füge den folgenden Code in ein neues Modul ein:
Sub KopiereGefilterteDaten()
ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy
End Sub
Einfügen der Daten:
CTRL + V, um die Daten einzufügen.Problem: Das gesamte Blatt wird kopiert:
Selection.SpecialCells(xlCellTypeVisible).Copy.Problem: Ausgeblendete Zellen werden kopiert:
SpecialCells(xlCellTypeVisible) verwenden.Es gibt verschiedene Möglichkeiten, wie Du gefilterte Daten in Excel kopieren kannst:
Versteckter Menü-Punkt:
Anpassen. Füge Sichtbare Zellen markieren hinzu, um nur die sichtbaren Zellen zu kopieren.Direktes Kopieren:
CTRL + C drückst.Hier ist ein praktisches Beispiel für den VBA-Code, der gefilterte Daten kopiert, ohne die Überschrift:
Sub AutofilterErgebnisKopieren()
ActiveSheet.AutoFilter.Range.Offset(1).Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
Sheets(3).Cells(Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End Sub
Dieser Code kopiert die gefilterten Daten in ein anderes Tabellenblatt.
Leistungsoptimierung: Deaktiviere das Bildschirm-Rendering während der Ausführung des Codes, um die Leistung zu steigern:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
1. Wie kann ich nur gefilterte Daten kopieren?
Du kannst nur die sichtbaren Zellen mit dem Befehl Selection.SpecialCells(xlCellTypeVisible).Copy kopieren.
2. Was mache ich, wenn ich nur einen bestimmten Bereich kopieren möchte?
Verwende den Range-Befehl, um den spezifischen Bereich anzugeben, den Du kopieren möchtest, z.B. Range("B2:B10").SpecialCells(xlCellTypeVisible).Copy.
3. Kann ich die gefilterte Liste direkt in ein anderes Blatt kopieren? Ja, das ist möglich. Du kannst den Zielbereich im Code angeben, in den die Daten eingefügt werden sollen.