VBA-Code zu langsam
eVoLa
ich habe mir ein Makro zusammengebastelt zur Erstellung einer Listview,
funktioniert auch total super, nur ein wenig zu langsam.
Die Listview muss sich halt ständig aktualisieren, da aber Schleife in Schleife ist
dauert es immer 4 sekunden statt einer. Vielleicht hat ja jemand von euch eine Idee,
wie man dies beschleunigen kann.
Nachfolgend mein Makro:
_________________
Option Explicit
Sub list_test()
Application.ScreenUpdating = False
Dim x As Long
Dim a As Long
Dim ix As ListItem
With frmListview.ListView1
.ListItems.Clear
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Name", 110
.ColumnHeaders.Add , , "D.", 30
.ColumnHeaders.Add , , "VBK", 50
.ColumnHeaders.Add , , "maxD", 30
.ColumnHeaders.Add , , "FS", 30
.ColumnHeaders.Add , , "PKW", 30
.Gridlines = True
.View = 3
For x = 1 To 290
.ListItems.Add , , Cells(x + 1, 20)
If .ListItems(x).Text = "0" Then
.ListItems(x).ForeColor = vbWhite
.ListItems.Remove (1)
.ListItems.Remove (1)
.ListItems.Remove (1)
Exit Sub
End If
.ListItems(x).SubItems(1) = Cells(x + 1, 21)
.ListItems(x).SubItems(2) = Cells(x + 1, 22)
If .ListItems(x).SubItems(2) = "-" Then
.ListItems(x).ForeColor = vbRed
End If
For a = 5 To 290
If .ListItems(x).Text = Cells(a, 5).Text Then
.ListItems(x).ForeColor = vbGreen
End If
Next
.ListItems(x).SubItems(3) = Cells(x + 1, 23)
.ListItems(x).SubItems(4) = Cells(x + 1, 24)
.ListItems(x).SubItems(5) = Cells(x + 1, 25)
Next
.ListItems.Remove (1)
.ListItems.Remove (1)
.ListItems.Remove (1)
End With
Application.ScreenUpdating = True
End Sub
______________Eventuell hat ja jemand von euch eine Idee.
Vielen Dank schon im Voraus