Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1888to1892
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

Automatische Sortierung durch Makro

Automatische Sortierung durch Makro
10.07.2022 15:58:58
Joachim
Hallo zusammen,
ich versuche meine Frage erstmal so allgemein und gleichzeitig so unkompliziert wie möglich zu halten:
Ich habe eine Excel-Tabelle mit 15 Spalten, die ich mithilfe eines Makros auswerten und neu strukturieren möchte. Mit dem folgenden Passus soll die gesamte Tabelle über den jeweiligen Eintrag in der zehnten Spalte sortiert werden:
ActiveSheet.Range("$A$1:$O$1").AutoFilter Field:=10, Criteria1:= _
"=*gut*", Operator:=xlAnd, Criteria2:="*boese*"
Für meine Frage hier habe ich den Zellinhalt, nach dem sortiert werden soll, mal vereinfacht: Wenn die Zelle irgendwo das Wort "gut" enthält und gleichzeitig nicht das Wort "böse" enthält, dann wird sie angezeigt. Alles andere wird ausgeblendet. Das alles funktioniert an und für sich auch tadellos, aber wenn die ursprüngliche Tabelle mehr als 1864 Zeilen besitzt, dann wird alles darunter nicht mehr sortiert und weiterhin angezeigt (also nach dem Sortieren nicht ausgeblendet). Hattet ihr sowas schon mal? Woran kann das liegen?
Viele Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Automatische Sortierung durch Makro
10.07.2022 16:14:57
Oberschlumpf
Hi Joachim,
laut deiner gesamten Beschreibung möchtest du eine mit Makro automatisierte Sortierung erreichen.
Aber mit dem einzigen Code, den du zeigst, wird gefiltert - nicht sortiert.
Bitte was genau möchtest du?
Zeig mal bitte eine Bsp-Datei mit Bsp-Daten, so dass dein Problem nachvollziehbar ist.
Ciao
Thorsten
AW: Automatische Sortierung durch Makro
10.07.2022 16:34:38
Joachim
Du hast natürlich recht, es geht hier um das Filtern der Daten.
Eine Beispiel-Datei kann ich nicht schicken, da es mir nicht gelungen ist, den Fehler zu replizieren. Das Original kann ich nicht schicken. Die Frage war auch eher allgemein: Ist euch sowas schon passiert?
Anzeige
AW: Automatische Sortierung durch Makro
10.07.2022 16:46:51
Oberschlumpf
Hi Joachim,
ich hab gerade mal...
- den Makrorecorder gestartet
- dann in einer fast 500 Zeilen langen Tabelle nach einem bestimmten Inhalt in Spalte A gefiltert
- Makrorecorder gestoppt
Der daraus resultierende Code sieht schon bei Range anders aus als bei dir
mein Code

ActiveSheet.Range("$A$1:$A$468").AutoFilter Field:=1
dein Code

ActiveSheet.Range("$A$1:$O$1").AutoFilter Field:=10
siehst du den Fehler in deinem Code?
Anstelle von $O$1 solltest du z Bsp $O$2000 verwenden - am besten wäre natürlich, anstelle von 2000 trägst du die wirklich letzte, genutzte Zeile ein.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Automatische Sortierung durch Makro
10.07.2022 16:55:05
onur
Was auch bedenklich ist, ist dass du einmal "boese" und das nächste mal "böse" schreibst - ist das auch in den Zeilen mit den Daten so?
AW: Automatische Sortierung durch Makro
10.07.2022 18:02:06
Joachim
Das habe ich jetzt eigentlich nur als Beispiel verwendet. In der tatsächlichen Tabelle gibt es solche Stolpersteine nicht.
AW: Automatische Sortierung durch Makro
10.07.2022 17:25:32
Daniel
Hi
Du markierst nur die erste Zeile und über lässt es dann der Excelautomatik, das Tabellenende zu finden.
Das kann funktionieren, das kann aber auch Tücken haben.
Ein Problem könnte eine Leerzeile zwischen drin sein, dann verwendet Excel die Daten nur bis zu dieser Leerzeile.
Oder du hast den Autofilter mal mit der kleineren Tabelle erstellt un dann weitere Zeilen hinzugefügt.
Wenn du den Autofilter nicht entfernt hast, hat Excel sich die alte Tabellengröße gemerkt und arbeitet mit dieser weiter, anstatt die neuen Zeilen mit hinzuzunehmen.
Ich verwende daher selten die Excelautomatik sondern Ermittler selbst die Größrme des Zellbereichs.
In deinem Fall beispielsweise so:

Range("A1:O" & Cells(Rows.Count, 10).end(xlup).row).Autofilter
Dh man springt in einer Spalte, die auf jeden Fall Daten enthält von der untersten Zeilevnach oben, der Sprung geht bis zur ersten Zelle mit Inhalt, und verwendet diese Zeilennummer als untere Grenze.
Gruß Daniel
Anzeige
AW: Automatische Sortierung durch Makro
10.07.2022 18:16:44
snb

with ActiveSheet.Usedrange.resize(,15)
.AutoFilter 10, "*gut*"
.AutoFilter 10,: "*boese*"
end with

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige