Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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
schnelleres Einlesen von Daten aus Blatt2
Daten
Hallo,
ich habe eine Datei mit mehreren Datenblättern. Nun wählt ein User in Blatt1 einen Lieferanten und es soll im unteren Bereich der Tabelle (ab Zeile 50, da oben noch weitere Felder und Funktionen liegen) einen Auszug aller Daten zu dem Lieferanten dargestellt werden.
Dazu lass ich eine For i = 1 to "Ende des Datenblattes" - Schleife laufen mit der Abfrage:
If Worksheets("Blatt2").Cells(i, 2).value = Lieferant then
Worksheets("Blatt1").cells(a, 3).value = Worksheets("Blatt2").Cells(i, 4).value
usw.
end if
next i
Leider brauch Excel mit dieser Methode irgendwie ziemlich lang (ca .40'000 Zeilen in Blatt2).
Gibt es eine schnellere Möglichkeit die Daten aus einem anderen Blatt zu übertragen ?
Gruß und Danke
Kay
AW: schnelleres Einlesen von Daten aus Blatt2
27.02.2011 17:16:50
Daten
Hallo Kay,
benutze FIND()

AW: Application.Match oder Find o.T
27.02.2011 17:17:28
Gerd
Gruß Gerd
AW: schnelleres Einlesen von Daten aus Blatt2
27.02.2011 17:32:46
Daten
Hallo,
das Prob ist wahrscheinlich eher das Schreiben in Blatt1.
Lies Blatt2 erst in ein Array ein und durchsuche dieses per Schleife. Sammele deine Daten in einem anderen Array. Schreib das dann komplett in Blatt1.
Gruß
Rudi
AW: Habe ein Array - aber komme nicht weiter...
27.02.2011 20:20:04
kle
Hallo Rudi,
vielen Dank. Ich bin aber leider noch nicht so sicher im Umgang mit Arrays. Ich habe nun mein Array erstellt (s.u.) und wie kann ich es jetzt effektiv durchsuchen? und die Zeilen auswählen, welche in das Datenblatt 1 übertragen werden sollen - und wie geht das dann? (Die Spalten habe ich als ' Info ergänzt)
Sub Erstelle_Array()
Application.ScreenUpdating = False
Dim pArray()
Dim i, e, AnzSätze As Integer
Dim sText As String
sText = ComboBox1.Text ' Suchtext
Sheets("Daten").Activate
AnzSätze = ActiveSheet.UsedRange.Rows.Count
ReDim pArray(1 To AnzSätze, 1 To 9)
i = 1
e = 1
For i = 1 To AnzSätze Step 1
pArray(i, 1) = Sheets("Daten").Cells(e, 3).Value ' Muss in Spalte 4
pArray(i, 2) = Sheets("Daten").Cells(e, 7).Value ' Muss in Spalte 10
pArray(i, 3) = Sheets("Daten").Cells(e, 4).Value ' muss in Spalte 13
pArray(i, 4) = Sheets("Daten").Cells(e, 6).Value ' Muss in Spalte 16
pArray(i, 5) = Sheets("Daten").Cells(e, 10).Value ' muss in Spalte 19
pArray(i, 6) = Sheets("Daten").Cells(e, 8).Value ' Muss in Spalte 29
pArray(i, 7) = Sheets("Daten").Cells(e, 9).Value ' Muss in Spalte 32
pArray(i, 8) = Sheets("Daten").Cells(e, 13).Value ' Muss in Spalte 35
pArray(i, 9) = Sheets("Daten").Cells(e, 14).Value ' Muss in Spalte 41
Debug.Print i & ": " & pArray(i, 1) & "_" & pArray(i, 2) & "_" & pArray(i, 4)
e = e + 1
Next i
Application.ScreenUpdating = True
End Sub
Gruß und Danke!
Kay
Anzeige
AW: Habe ein Array - aber komme nicht weiter...
27.02.2011 22:07:15
Rudi
Hallo,
das ist viel zu kompliziert.
Du kannst einen kompletten Datenbereich in ein Array einlesen und dann das durchsuchen. Geht schneller als in der Tabelle.
Schau dir dasmal an:
Sub xxx()
Dim arrTmp, i As Long, arrDaten(), sText As String, n As Long
arrTmp = Sheets("Daten").UsedRange  'Daten in Array
sText = ComboBox1.Text ' Suchtext, wird in Daten!A:A gesucht
ReDim arrDaten(1 To Application.CountIf(Sheets("Daten").Columns(1), sText), 1 To 9)
For i = 2 To UBound(arrTmp)
If arrTmp(i, 1) = sText Then
n = n + 1
arrDaten(n, 1) = arrTmp(i, 3)
arrDaten(n, 2) = arrTmp(i, 7)
arrDaten(n, 3) = arrTmp(i, 4)
'etc
End If
Next i
'Daten in Blatt2 ab Zeile 50 ausgeben
Sheets("Blatt2").Cells(50, 1).Resize(UBound(arrDaten), UBound(arrDaten, 1)) = arrDaten
End Sub

Ich kenn ja deine Mappe nicht.
Gruß
Rudi
Anzeige
AW: Habe ein Array - aber komme nicht weiter...
27.02.2011 22:37:53
kle
Danke für Deine Antwort, werde es ausprobieren und anpassen...wenn ich nicht weiterkomme, poste ich wieder hier...
Gruß
Kay

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige