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

Liste mit Array Filtern für neue Listen

Liste mit Array Filtern für neue Listen
02.12.2020 23:11:08
Lisa-Fiona
Hallo zusammen,
ich habe ein Problem bei dem ich mal wieder Unterstützung brauche.
Ich habe Listen bei denen in Spalte i Referenznummern nach folgendem Schema stehen: "xxxxxA" oder "xxxxxB"
Nun möchte jeweils eine neue Liste in einem neuen Tabellenblatt für das Kriterium "A" und "B" haben.
Ich habe bereits ein Makro, dass eine Hilfsspalte mit Right() bildet und jeweils für A und B Filter-Copy-Einfügen tut.
Allerdings ist das Makro sehr langsam. Wahrscheinlich auch weil es große Listen sind. Je mehr ich im Hintergrund am Laufen habe umso schlimmer ist es.
Daher wollte ich hier mal Fragen, ob es eine Möglichkeit gibt ein besseres Makro zu bilden?
Ich glaube das man mit Array so etwas machen kann und das Makro auch viel schneller ist.
Leider kenne ich mich so gar nicht mit Arrays aus...
Könnt ihr mir weiterhelfen?
Ich freue mich über jegliche Art von Hilfe.
Vielen lieben Dank im Voraus!
Lisa-Fiona

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

Betreff
Datum
Anwender
Anzeige
ohne Code oder Datei wird das helfen nichts.
02.12.2020 23:17:33
ralf_b
AW: ohne Code oder Datei wird das helfen nichts.
03.12.2020 00:18:26
Tobias
Hallo Lisa,
hast du mal versucht über den Autofilter nach "*A" filtern dann kopieren und dann "*B"?
Der ist eigentlich recht zügig.
Falls du damit Hilfe brauchst gerne nochmal mit dem aktuellen Code melden
Schöne Grüße
Tobias
AW: ohne Code oder Datei wird das helfen nichts.
03.12.2020 20:40:01
Lisa-Fiona
Du hast natürlich recht.
Ich habe mal hier eine Musterdatei erstellt, bei der man den Listenaufbau erkennen kann:
https://www.herber.de/bbs/user/142043.xlsx
Die Listen sind aber in Wirklichkeit viel größer/länger (mind. 100K Zeilen).
Viele Grüße
Lisa-Fiona
AW: ohne Code oder Datei wird das helfen nichts.
03.12.2020 20:40:01
Lisa-Fiona
Du hast natürlich recht.
Ich habe mal hier eine Musterdatei erstellt, bei der man den Listenaufbau erkennen kann:
https://www.herber.de/bbs/user/142043.xlsx
Die Listen sind aber in Wirklichkeit viel größer/länger (mind. 100K Zeilen).
Viele Grüße
Lisa-Fiona
Anzeige
AW: ohne Code oder Datei wird das helfen nichts.
03.12.2020 20:53:35
ralf_b
tut mir leid, aber das ist nicht ausreichend.
wo ist das "langsame" Makro?
Beispiele für Anwendung von Arrays gibts massenhaft im Netz.
Ist für jeden was dabei.
AW: ohne Code oder Datei wird das helfen nichts.
03.12.2020 21:01:34
Daniel
Hi
das hier dürfte das schnellste und flexibelste sein, was du findest.
Sub Aufteilen()
Dim Z1 As Range, Z2 As Range
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=right(RC9,1)"
.Formula = .Value
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
Set Z2 = .Cells(1, 1)
End With
Do
Set Z1 = Z2.Offset(1, 0)
If Z1.Value = "" Then Exit Sub
Set Z2 = Z1.EntireColumn.Find(what:=Z1.Value, lookat:=xlWhole, LookIn:=xlValues,  _
searchdirection:=xlPrevious)
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Z1.Value
.Rows(1).Copy ActiveSheet.Cells(1, 1)
Range(Z1, Z2).Offset(, 1 - Z1.Column).Resize(, Z1.Column - 1).Copy ActiveSheet.Cells(2,  _
1)
Loop
Z1.EntireColumn.ClearContents
End With
End Sub

der Code passt sich auch automatisch an die Tabellengröße und die Anzahl der unterschiedlichen Kriterien an.
Die neuen Blätter werden nach den Kriterien benannt.
Solltest du den Code in der selben Datei wiederholt ausführen, müsstest du diese Blätter erst löschen.
Gruß Daniel
Anzeige

298 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige