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

gefilterte Werte selektieren

gefilterte Werte selektieren
26.12.2016 16:04:01
Oisse
Hallo Zusammen,
ich habe in meinem Worksheet (keine Tabelle im Worksheet) nach bestimmten Kriterien gefiltert.
Diese, nun sichtbaren Zeilen möchte ich per VBA markieren
Mein Code (auszugsweise) sieht bisher so aus:
If wks_Art.AutoFilter.FilterMode = True Then  'Prüfen ob der Autofilter gesetzt ist, wenn ja,  _
dann:
ActiveSheet.Range("A2:A" & ActiveSheet.UsedRange.Rows.Count, 1). _
SpecialCells(xlCellTypeVisible).Select                    'alle sichtbaren Zeilen  _
selektieren
For Each rng_Row In Selection.Rows

Allerdings werden auch unendliche Zeilen unter der letzten Zeile, die Eintragungen hat, mit selektiert und anschließend weiter verarbeitet.
Statt z.B. vier Zeilen mit Daten werden x Zeilen selektiert.
Und das Makro rennt sich zu Tode, so dass ich immer unterbrechen muss.
Wie muss ich das ändern?
Danke

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gefilterte Werte selektieren
26.12.2016 16:07:47
Hajo_Zi
Prüfe mal Strg+Ende, ob das mit dem Ende der Tabelle übereinstimmt,
Ansonsten Zeile unter Tabelle Markieren bis eine Zeile Weiter als Strg+Ende.
Speichern nicht vergessen.

AW: gefilterte Werte selektieren
26.12.2016 16:12:53
Oisse
Hallo Hajo und danke für die schnelle Antwort.
Du hast Recht. Wenn ich STRG+Ende drücke springt er mir auf die Zell UU 2387.
Was bitte kann ich machen?
AW: gefilterte Werte selektieren
26.12.2016 16:14:13
Hajo_Zi
Du möchtest meinen Beitrag also nicht komplett lesen.
Ich bin dann raus, da keinen weiteren Vorschlag.
Gruß Hajo
Anzeige
AW: gefilterte Werte selektieren
26.12.2016 16:19:57
Oisse
Ich habe deinen Beitrag sehr wohl komplett gelesen.
Mit der ersten Zeile konnte ich ja noch was anfangen.
Mit Zeile zwei und drei nicht mehr.
Meintest du dass ich alle Zeilen von der letzten, mit Daten angefüllten Zeile, bis unter die Zeile, die sich aus STRG+Ende ergibt markieren und dann löschen soll?
AW: gefilterte Werte selektieren
26.12.2016 16:23:06
Hajo_Zi
das Stand nicht in Deinem Beitrag, ja
Gruß Hajo
AW: gefilterte Werte selektieren
26.12.2016 16:31:22
Oisse
Ok. Habe ich gemacht.
Funktioniert einwandfrei. Vielen Dank.
Noch eine Verständnisfrage.
Wenn ich jetzt STRG+Ende drücke springt er mir in die korrekte Zeile, als die letzte Zeile mit Werten, aber immer noch in die Spalte UU.
Was könnte der Grund sein?
Wie gesagt: Vielen Dank für deine Hilfe
Gruß Oisse
Anzeige
AW: gefilterte Werte selektieren
26.12.2016 16:32:39
Hajo_Zi
Das gleich für die Spalten machen.
Gruß Hajo
AW: gefilterte Werte selektieren
26.12.2016 16:44:07
Oisse
Geht nicht.
Bin in die Zelle UV 398 (letzte Zeile mit Werten ist 397) und bis AC 1 markiert und anschließend auf Spalten löschen.
Er springt aber jetzt auf UV 398.
AW: gefilterte Werte selektieren
26.12.2016 16:46:19
Hajo_Zi
Du solltest Spalten markieren, das hatte ich als selbstverständlich angesehen, Da ja Spalten gelöscht werden sollen.
Gruß Hajo
AW: gefilterte Werte selektieren
26.12.2016 16:50:32
Oisse
Auch das habe ich gemacht. Funktioniert aber leider nicht. Springt leider immer noch auf UV 398
Anzeige
AW: gefilterte Werte selektieren
26.12.2016 16:54:13
Hajo_Zi
dazu kann ich nichts schreiben. Da ich nicht auf fremde Rechner schaue und damit Deine Datei nicht sehe.
Gruß Hajo
AW: gefilterte Werte selektieren
26.12.2016 16:58:29
Oisse
Gut. Dann sei mir die Frage noch erlaubt.
Wie kommt es, dass so weit ab vom Schuss sozusagen, die letzte Zelle gefunden wird? Es stehen und standen da definitiv keine Daten drin.
Wie kommt so etwas zustande?
Ich frage, damit ich dem in Zukunft vorbeugen kann.
AW: gefilterte Werte selektieren
27.12.2016 10:59:02
Daniel
HI
das kann verschiedene Gründe haben.
beispielsweise sind Zellen mit einer eigenständigen Formatierung für Hintergrundfarbe oder Rahmenlinien ebenfalls relevant für die Ermittlung der Usedrange und zählen dazu, auch wenn sie keinen Inhalt haben.
daher sollte man auf jeden Fall Formatierungen für ganze Zeilen oder Spalten vermeiden.
wenn man eine ganze Spalte oder Zeile formatiert, dann klappt das zunächst, aber sobald du dann hier wieder einzelne Zellen formatierst, kannst du ein Problem bekommen.
Außerdem arbeitet Excel für die Ermittlung der Usedrange nach dem Motto: lieber etwas zu groß als zu klein (zu klein darf auf keinen Fall passieren), daher kommt es dann manchmal zu solchen Fehlern.
auch wenn du das Duplikate-Entfernen anwendest musst du beachten, dass die Usedrange nicht angepasst wird wenn dadurch Zeilen gelöscht werden.
Um dieser Problematik grundsätzlich aus dem Weg zu gehen, kann man verschiedene Methoden anwenden (die allerdings wieder andere Einschränkungen haben:
anstelle von ActiveSheet.Usedrange
nimmt man:
Cells(1, 1).CurrentRegion.Select
das CurrentRegion orientiert sich nur nach dem tatsächlichen Zellinhalt und nicht nach Formatierungen.
Es ist aber erforderlich, dass in einer Zeile und in einer Spalte alle Zellen befüllt sind, so dass es keine durchgängigen Leerezeilen und -spalten innerhalb des zu markierenden Bereichst gibt.
oder man ermittelt über die END-Funktionen die letzte befüllte Zeile und die letzte befüllte Spalte.
hierzu muss es aber eine bekannte Zeile und Spalte geben, welche auch sicher bis zu letzten Zelle befüllt ist, in welcher man dan diese Sprungfunktion ausführen kann:
dim ZE as long
dim SP as long
ZE = Cells(Rows.Count, 1).End(xlup).Row
SP = Cells(1, Columns.Count).End(xltoleft).Column
Range(Cells(1, 1), Cells(ZE, SP)).Select
Gruß Daniel
Anzeige
AW: gefilterte Werte selektieren
27.12.2016 11:09:14
Oisse
Hallo Daniel,
danke für die super und ausführliche Erklärung.
Bin begeistert.
Herzliche Grüße
Oisse
AW: gefilterte Werte selektieren
26.12.2016 16:29:33
Gerd
Hallo O.
Ein Ansatz:
Dim objCell As Range, L As Long
For Each objCell In wks_Art.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows
L = L + 1
If L > 1 Then MsgBox objCell.Row
Next

Gruß Gerd
AW: gefilterte Werte selektieren
26.12.2016 16:54:01
Oisse
Hallo Gerd und danke für deine Antwort.
Mein Problem waren ja die sichtbaren Zeilen. Mittlerweile scheint das gelöst zu sein, dank den Hinweisen von Hajo. Trotzdem besten Dank für deine Unterstützung.
Gruß Oisse
Anzeige
AW: gefilterte Werte selektieren
26.12.2016 16:57:23
Gerd
Hallo O.
tue dir keinen Zwang an. :-)
Gruß Gerd
AW: gefilterte Werte selektieren
26.12.2016 17:00:09
Oisse
Danke für dein Verständnis.
Gruß Oisse
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge