Grüßt euch,
habe ein Problemchen mit meinem Code, der beim Ausführen sehr lange braucht.. Habe 2 Sheets: In "Tabelle13" ist eine Tabelle mit 4 Spalten und 3.000 Zeilen. In Spalte "B" bis "D" sind jeweils Zahlen eingetragen (Baugrößen: Länge x Breite x Höhe) - in Spalte "A" ist der Produktname. In "Tabelle12" gibt es eine UserForm mit 3 TextBoxes. Wenn ich nun über die UserForm nach drei Baugrößen suchen möchte (L x B x H), dauert die Suche schon sehr lange (wenn die Ergebnisstabelle ca. 1000 Zeilen hat). Hier mal meinen Code. Habt ihr evtl. eine elegantere bzw. performantere Lö?
Private Sub CommandButton1_Click()
Dim letzteZeile As Integer
Dim laengeEingabe As Integer
Dim breiteEingabe As Integer
Dim hoeheEingabe As Integer
Dim laengeBool As Boolean
Dim breiteBool As Boolean
Dim hoeheBool As Boolean
Dim j As Integer
letzteZeile = Sheets("Tabelle13").Cells(10000, "B").End(xlUp).Row
laengeEingabe = TextBox1.Value
breiteEingabe = TextBox2.Value
hoeheEingabe = TextBox3.Value
j = 2
For i = 2 To letzteZeile 'später wenns funktioniert: letzteZeile
'Abfrage für Länge
If laengeEingabe <= Sheets("Tabelle13").Cells(i, "B").Value And breiteEingabe <= Sheets("Tabelle13").Cells(i, "C").Value And hoeheEingabe <= Sheets("Tabelle13").Cells(i, "D").Value Then
laengeBool = True
breiteBool = True
hoeheBool = True
'Copy Paste
Worksheets("Tabelle13").Range("A" & i, "D" & i).Copy _
Destination:=Worksheets("Tabelle12").Range("A" & j)
j = j + 1
Else
GoTo Weiter
End If
Weiter:
Next
UserForm2.Hide
Ende:
End Sub
Danke und Grüße, Jens.
P.S.: Vorab: mein PC ist schon sehr flott (also an der Rechenleistung kann es nicht liegen)
|