Code verkürzen
13.09.2005 23:07:53
Tinu
Den folgenden Code habe ich mir zusammengebastelt um aus einer UserForm-ListBox mit Mehrfachselektion aus Tabelle 1 alle Datensätze Spalten A bis E rauszusuchen, welche in Spalte A mit der Selektion der Listbox übereinstimmen und diese nach Tabelle 2 zu kopieren. Es können pro Selektion mehrere Datensätze sein. Der Code funktioniert zwar, ist aber recht langsam. Gibt es da nicht eine schnellere Methode?
Für Hilfe wäre ich sehr dankbar!
Gruss
Tinu
Private Sub cb_COPY_Click()
Dim iRow As Integer, jCounter As Integer
Dim x As Integer, lz As Integer
jCounter = 0
Worksheets("Tabelle2").Range("A1:F500").ClearContents
With ThisWorkbook.Sheets("Tabelle1")
lz = .Range("A65536").End(xlUp).Row
For x = 3 To lz
For iRow = 0 To lstAuswahl.ListCount - 1
If lstAuswahl.Selected(iRow) Then
If (.Cells(x, 3)) = lstAuswahl.List(iRow) Then
.Range(.Cells(x, 1), .Cells(x, 5)).Copy _
Worksheets("Tabelle2").Range("A" & 1 + jCounter)
jCounter = jCounter + 1
End If
End If
Next
Next
End With
Unload Me
End Sub