Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1600to1604
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 zu langsam

Schleife zu langsam
16.01.2018 19:12:44
Christian
Guten Abend zusammen,
ich habe eine TextBox 1 mit einem Wert. Es muss in einer geschlossenen Datei TEST.xlxs in der Spalte A nach dem Wert aus der aktuellen TextBox1 suchen. in die ListBox1 im Userform 4 der aktuellen Datei sollen alle Zeilen (Spalte 1 bis 4) gezeigt werden, bei der TextBox1 in TEST.xlsx in der Spalte A zu finden ist.
Bisher habe ich nur das gefunden:
Private Sub UserForm_Initialize()
Dim sPfad As String
Dim sName As String
Dim TypeRange As Range
sPfad = "C:\Users\Data\"
sName = "TEST.xlsx"
UserForm4.ListBox1.Clear
For Each rngZelle In Range("A1:A1500")
If Application.IsText(GetValue(sPfad, sName, "Tabelle1", TextBox1)) Then
ListBox1.AddItem GetValue(sPfad, sName, "Tabelle1", TextBox1)
End If
Next
End Sub

Hatte mit dieser Variante den Prozess grad schon am laufen, aber es dauert sehr lange. Und es werden bald wesentlich mehr als 1500 Zeilen. ;)
Hat jemand einen Rat für mich? Wäre sehr nett.
VG,
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: GetObject?
16.01.2018 19:55:28
Fennek
Hi,
warum öffnest du die Datei nicht "normal", zu mindest mit GetObject?
Dann sollte es etwas scneller werden. Besser: den Range auf einmal in ein Array (ca. 20x schneller)
mfg
AW: Schleife zu langsam
16.01.2018 21:56:59
onur
Ich würde die datei im Hintergrund öffnen, statt in der Schleife wieder und wieder und wieder zu öffnen.
AW: Schleife zu langsam
17.01.2018 10:29:15
Christian
Okay, ich werde mal schauen wie ich das gelöst bekomme. :)
Danke @Fennek und @onur für euren input.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige