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

Schleife mit Abfrage und Kopie - sehr langsam

Schleife mit Abfrage und Kopie - sehr langsam
19.02.2018 10:50:55
Thomas
Liebe Herbers Excel-Forum Gemeinde,
ich arbeite seit einiger Zeit an einer Simulation für ein Projekt. Einige wesentliche Fragen zur Codeerstellung konnten hier gelöst werden - besten dank dafür!
Kurz vor Fertigstellung muss ich noch einige dinge optimieren und da "zwickt" es jetzt etwas. zur genaueren Auswertung der Daten in Spalte 1 setze ich in Spalte 2 ein x. Nach Abschluss der manuellen Prüfung sollen diese Daten kopiert werden, was aber sehr lange dauert. Die Simulation, in der ich bis zu 250.000 Datensätze (von Spalte A bis FQ) generiere benötigt max 45 sec.
Hier mein Code für die Auswertung benötigt allerdings ähnlich lang, obwohl der Aufwand minimal ist und ich versteh nicht warum? vl kann mir jemand helfen.
Code:
Sub kopieren_01()
Dim i As Long
Dim leZeile As Long
Dim Zeile As Long
leZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
Zeile = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row
With Tabelle1
For i = 1 To leZeile
If .Cells(i, 2) = "x" Then
Zeile = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row
Tabelle2.Cells(Zeile + 1, 1) = .Cells(i, 1)
End If
Next i
End With
End Sub
Besten Dank!

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

Betreff
Datum
Anwender
Anzeige
Kopieren von Bereichen, anstelle einzelner....
19.02.2018 11:15:07
Bereichen,
Zellen in einer Schleife ist wesentlich schneller, Thomas.
Also:
Sub kopieren_01()
With Tabelle1
.Range(.Cells(1, 2), .Cells(.Rows.Count, 1).End(xlUp)).Copy _
Tabelle2.Cells(Tabelle2.Rows.Count, 1).End(xlUp).Offset(1)
End With
End Sub
Gruess Hansueli
AW: Kopieren von Bereichen, anstelle einzelner....
19.02.2018 11:57:51
Bereichen,
Besten dank für deine Hilfe,
ich habe das jetzt umgebaut, nun kopiert er aber alle werte.
Code:
Sub kopieren_02()
Dim i As Long
Dim leZeile As Long
Dim Zeile As Long
leZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
Zeile = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row
With Tabelle1
For i = 1 To leZeile
If .Cells(i, 2) = "x" Then
.Range(.Cells(i, 1), .Cells(.Rows.Count, 1).End(xlUp)).Copy _
Tabelle2.Cells(Tabelle2.Rows.Count, 2).End(xlUp).Offset(1)
'Zeile = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row
'Tabelle2.Cells(Zeile + 1, 1) = .Cells(i, 1)
End If
Next i
End With
End Sub

Anzeige
Die Bedingung hab ich übersehen...
19.02.2018 12:02:46
EtoPHG
Hallo Thomas,
Sorry, die ="X" Bedingung hab ich übersehen. In der Recherche findest du Lösungen zum schnellen Kopieren unter Bedingungen. Diese laufen meist über den Autofilter.
Gruess Hansueli

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige