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

Autofilter / Zellen ansprechen

Autofilter / Zellen ansprechen
Alex
Hallo Forum,
Habe eine lange Exceltabelle mit Autofilter. Wie kann ich die "angezeigten" Zellen/Zeilen per VBA auswählen wenn ein Filter aktiv ist ?
Danke im Vorraus.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Archivsuche benutzen , oder googeln,
13.04.2012 11:49:22
Matthias
Hallo Alex,
...würde uns viel Arbeit ersparen.
Deine Angabe VBA gut ist wohl auch nicht passend gewählt, sonst würdest du das hinbekommen.
du musst erst mal den Bereich bestimmen / auslesen der gefiltert wurde, somit alle versteckten Zeilen
ausgrenzen, um dann diesen Bereich zu kopieren oder was auch immer du damit vorhast.
Gruß Matthias
mach was mit Cells.SpecialCells(xlCellTypeVisible)
13.04.2012 12:04:45
ransi
Hallo Alex
Hilft dir das weiter ?
Sheets("Tabelle1").Range("A1").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible).Select

ransi
Anzeige
Auswahl finden und selectieren
13.04.2012 12:07:12
Matthias
Oder sowas, :
gefunden im Archiv
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ß Matthias
Anzeige
AW: Auswahl finden und selectieren
13.04.2012 12:08:59
Matthias
und noch ne Komplettlösung kürzer
auch aus dem Archiv
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)'anpassen (3)
End Sub

AW: Autofilter / Zellen ansprechen
13.04.2012 12:22:51
Alex
Hallo,
Ich habe mich zu undeutlich ausgedrückt bzw. das Problem ungenau beschrieben.
Ich habe eine Excelliste in der in einer Spalte Hyperlinks hinterlegt sind mit denen ich verlinkte Dokumente öffnen kann.
Mein Ziel ist es die verlinkten Dokumente durch ein Makro in einem Verzeichniss zu speichern.
Diese Aufgabe funtioniertschon (ich gehe per Schleife durch die gesame Exceltabelle (Zeile 1 bis x) und speichere die Dokumente.
Das nächste Ziel wäre lediglich die durch den Filter ausgewählten Dokumente zu speichern.
Ich habe aber noch keine Weg gefunden die gefilterten Zeilen anzusprechen.
Die Kopiemethode wäre natürlich eine Lösung aber nicht sehr elegant.
Gibt es sonst noch Möglichkeiten?
Grüße aus Erlangen
Alex
Anzeige
AW: einfache Lösung
13.04.2012 12:47:07
Alex
Hallo,
Mit der Funktion
If Rows(zeile).Hidden = False Then ....
kann ich sehr einfach die nicht relevanten Einträge "ignorieren".

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige