mitnachfolgendem Code öffne ich eine UF und fülle die einzelnen Listboxen entsprechend der If-Bedingungen. Wenn ich die UF im TB"Speicher" öffne, gehte dies ruckzuck (2 sek) aber wenn ich die selbe UF in einem anderen TB öffne, verzögert sich das um ein vielfaches. Wie oder wo kann ich Änderungen vornehmen um es zu beschleunigen?
Private Sub Userform_Initialize()
Dim C As Range
Dim Zeile1 As Integer, zeile2 As Integer, zeile3 As Integer, zeile4 As Integer, iRow As Integer
iRow = ActiveSheet.UsedRange.Rows.Count
For Each C In Worksheets("Speicher").Range("V2:V" & iRow)
If C.Value = "Angebot" Then
With Me.ListBox1
.AddItem C.Offset(0, -2).Value 'Rechn.- bzw. AngebotsNr.
.List(Zeile1, 1) = C.Offset(0, -7).Value 'KundenNr.
.List(Zeile1, 2) = C.Offset(0, -20).Value 'Name
.List(Zeile1, 3) = C.Offset(0, -15).Value 'Straße
.List(Zeile1, 4) = C.Offset(0, -10).Value 'PLZ & Ort
.List(Zeile1, 5) = C.Offset(0, 3).Value 'Datum
'.List(Zeile1, 6) = C.Offset(0, 249).Text 'Rechnungssumme
End With
Zeile1 = Zeile1 + 1
End If
If C.Value = "Rechnung" Then
With Me.ListBox2
.AddItem C.Offset(0, -2).Value 'Rechn.- bzw. RechnungsNr.
.List(zeile2, 1) = C.Offset(0, -7).Value 'KundenNr.
.List(zeile2, 2) = C.Offset(0, -20).Value 'Name
.List(zeile2, 3) = C.Offset(0, -15).Value 'Straße
.List(zeile2, 4) = C.Offset(0, -10).Value 'PLZ & Ort
.List(zeile2, 5) = C.Offset(0, 3).Value 'Datum
'.List(zeile2, 6) = C.Offset(0, 249).Text 'Rechnungssumme
End With
zeile2 = zeile2 + 1
End If
If C.Value <> " " Then
With Me.ListBox4
.AddItem C.Offset(0, 0).Value 'Beleg-Art
.List(zeile4, 1) = C.Offset(0, -2).Value 'Beleg-Nr.
.List(zeile4, 2) = C.Offset(0, -7).Value 'Knd-Nr
.List(zeile4, 3) = C.Offset(0, -20).Value 'Name
.List(zeile4, 4) = C.Offset(0, -15).Value 'Straße
.List(zeile4, 5) = C.Offset(0, -10).Value 'PLZ & Ort
.List(zeile4, 6) = C.Offset(0, 3).Text 'Datum
End With
zeile4 = zeile4 + 1
End If
Next C
For Each C In Worksheets("Speicher").Range("H2:H" & iRow)
If C.Value > 0 And C.Value < Date Then
With Me.ListBox3
.AddItem C.Offset(0, -7).Value 'Rechn.- bzw. AngebotsNr.
.List(zeile3, 1) = C.Offset(0, -6).Value 'KundenNr.
.List(zeile3, 2) = C.Offset(0, -5).Value 'Name
.List(zeile3, 3) = C.Offset(0, -4).Value 'Straße
.List(zeile3, 4) = C.Offset(0, -3).Value 'PLZ & Ort
.List(zeile3, 5) = C.Offset(0, -2).Value 'Datum
'.List(zeile3, 6) = C.Offset(0, 248).Text 'Rechnungssumme
End With
zeile3 = zeile3 + 1
End If
Next C
End Sub