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

Filterung, Makro sehr langsam

Filterung, Makro sehr langsam
22.05.2009 11:54:41
walli
Hallo zusammen,
ich habe ein Makro mir zusammengebastelt, was aber viel zu Lang läuft.
In der Tabelle soll gefiltert werden und der Wert der Summe immer
von A4 in AF1 bis Af kopiert werden.
Siehe 2 Beispiele.
Es geht bis 125.
Vielleicht kann mir jemand einen Tip geben wie es schneller geht ?
Selection.AutoFilter Field:=13, Criteria1:="121"
Range("A4").Select
Selection.Copy
Range("AF1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.AutoFilter Field:=13, Criteria1:="122"
Range("A4").Select
Selection.Copy
Range("AF2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
gruß walli

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

Betreff
Datum
Anwender
Anzeige
Hallo Gerd, danke für den Hinweis !
22.05.2009 12:45:57
walli
schmeiße mal alles mit Select raus
22.05.2009 12:30:47
Tino
Hallo,
Beispiel:

application.screenUpdating = false
'? durch den Bereich ersetzen
Range("?:?").AutoFilter Field:=13, Criteria1:="121"
Range("A4").Copy
Range("AF1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'? durch den Bereich ersetzen
Range("?:?").AutoFilter Field:=13, Criteria1:="122"
Range("A4").Copy
Range("AF2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
application.cutcopymode =false
application.screenUpdating = true


Sonst wäre eine Beispieldatei gut um zu sehen was verbessert werden könnte.
Gruß Tino

Anzeige
So filtere ich vorher...
22.05.2009 12:53:24
walli
Hallo Tino,
danke für das Beispiel.
So filtere ich vorher, da die Tabelle sehr groß ist.
In der Spalte "A" stehen Nummern mit der Endzahl 77,
siehe mein Beispiel.
Range("A5").Select
Selection.AutoFilter Field:=1, Criteria1:="=?77*"
Dim z As Long
Range("A5").Select
z = Range("A5").End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 29)).Select
hatte mal so versucht:
Range("A5").Select
Selection.AutoFilter Field:=1, Criteria1:="=?77*"
Dim z As Long
Range("A5").Select
z = Range("A5").End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 29)).Select
ActiveSheet.AutoFilter Field:=13, Criteria1:="123"
Range("A4").Copy
Range("AF1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
leider Fehlanzeige.
gruß walli
Anzeige
kleine Beispieldatei...
22.05.2009 12:56:44
Tino
Hallo,
es reicht ja ein Ausschnitt aus Deiner Datei, eventuell als Zip.
Gruß Tino
AW: Wenn nur eine Zelle übertragen wird
22.05.2009 13:00:18
Daniel
und dann auch nur die Werte ohne Formate, kannst du dir Copy-Paste sparen:

Selection.AutoFilter Field:=13, Criteria1:="121"
Range("AF1").Value = Range("A4").Value
Selection.AutoFilter Field:=13, Criteria1:="122"
Range("AF2").Value = Range("A4").Value


Gruß, Daniel

so geht es Super, danke -)
22.05.2009 13:41:37
walli
Hallo Daniel, so klappt es Super !
Danke auch Tino für die Unterstützung,
schönes Wochenende,
gruß walli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige