Live-Forum - Die aktuellen Beiträge
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

For-Next-Loop

For-Next-Loop
07.07.2022 10:38:48
daniel
hallo zusammen
ich habe ein xls-File, in welches manuell ca. 5000 datensätze kopiert werden. anschliessend werden diese datensätze per makro nach kalenderwochen aufs jahr verteilt. leider bin ich noch ein anfänger und zu wenig verständnis für folgendes problem: die datensätze werden auf ihr datum geprüft und dann nach KW in ein anderes arbeitsblatt kopiert. ich habe nun pro kalenderwoche ein for-next-loop geschrieben, was zu einer riesigen prozedur führt (53 loops)... dazu kommt, dass ich eine statusleiste eingebaut habe, sodass man den fortschritt sieht. die ausführung dauert nun ca. 50min... wie kann ich das schlanker gestalten?
'KW 1
With Worksheets("Daten") 'Tabelle der zu verarbeitenden Daten
SW = .UsedRange.Rows.Count
n = 1
Länge = 0
Schritt = PB1.Label1.Width / SW
For row = 2 To SW 'ab Zeile 2 bis zur letzten prüfen ob
If Worksheets("Daten").Cells(row, 4).Value >= Worksheets("DropDown").Range("C2") And Worksheets("Daten").Cells(row, 4).Value Worksheets("Daten").Range("A" & row & ":F" & row).Copy 'falls ja, Zeile kopieren
Worksheets("KW 1-53").Cells(2 + n, 1).PasteSpecial xlPasteValues ' und in Tabelle "KW 1-53" kopieren (KW1= spalte 1, KW2= spalte 9, KW3 = spalte 17 etc.)
Länge = Länge + Schritt 'Fortschritt des Balkens neu definieren
PB1.Label2.Width = Länge
PB1.Label3.Caption = Format(row / SW, "0 %") 'Beschriftung Statusbalken
n = n + 1 'nächste Zeile prüfen
End If
Next row
End With
'KW 2...
'KW 3...
'KW 4...
'KW 53

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For-Next-Loop
07.07.2022 13:07:54
daniel
danke für deine antwort. habe mal screenUpdating, enableEvents, Calculation etc. angepasst. läuft nun minimal schneller. wie kann ich meine datenmenge in einen array auslagern ohne den gesamten code nochmals neu schreiben zu müssen? hab an verschiedenen orten gelesen das sei mittels einer einzigen codierzeile möglich...?
Anzeige
AW: For-Next-Loop
07.07.2022 14:07:21
onur
Dann poste mal eine (Beispiels-) Datei. Wie soll man einen schnelleren Code schreiben, wen man die ZUGEHÖRIGE Datei nicht hat?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige