Summe aus Listboxspalte
12.08.2013 14:00:55
Uwe
ich möchte die Summe einzelner Spalten aus der Listbox in Labels in einer Userform anzeigen.
Die Listbox hat 6 Spalten. Die Summe drei dieser Spalten sollen in den Labels 1,2 und 3 angezeigt werden. Für Label1 funktioniert das auch, jedoch die Label2 und 3 geben mir zwar eine Zahl aus aber das ist nicht die Summe der Spalte die ich haben möchte.
Hier mal der Code:
Private Sub ComboBox1_Change()
Dim objList As Object, arr, i As Long, j As Integer, arrTmp(1 To 1, 1 To 6), arrList()
Dim wert As Double
Dim wert1 As Double
Dim wert2 As Double
Set objList = CreateObject("Scripting.Dictionary")
With Sheets("Übersicht")
arr = .Range("A8:H1000")
End With
For i = 1 To UBound(arr)
If MonthName(Month(arr(i, 1))) = ComboBox1 Then
For j = 1 To 6
arrTmp(1, j) = arr(i, j)
Next
objList(i) = arrTmp
End If
Next
If objList.Count = 0 Then
ListBox1.Clear
Exit Sub
End If
arr = objList.items
arr = WorksheetFunction.Transpose(arr)
arr = WorksheetFunction.Transpose(arr)
ReDim arrList(1 To objList.Count, 1 To 6)
If objList.Count > 1 Then
For i = 1 To UBound(arr)
For j = 1 To 6
arrList(i, j) = arr(i, j)
Next
Next
Else
For i = 1 To 6
arrList(1, i) = arr(i)
Next
End If
ListBox1.ColumnCount = 6
ListBox1.List = arrList
'Ab hier soll die Summe der einzelnen Spalten
'in Listbox1 berechnet und in dem jeweiligen Label ausgegeben werden
For i = 0 To Me.ListBox1.ListCount - 1
wert = wert + Me.ListBox1.List(i, 3) 'Summe Betrag (Listbox1 Spalte 4)
wert1 = wert + Me.ListBox1.List(i, 2) 'Summe gefahrene km (Listbox1 Spalte 3)
wert2 = wert + Me.ListBox1.List(i, 4) 'Summe getankte Liter (Listbox1 Spalte 5)
Next i
Label1.Caption = wert 'gibt richtge Summe aus
Label2.Caption = wert1 'keine Fehlermeldung aber falsche Summe
Label3.Caption = wert2 'keine Fehlermeldung aber falsche Summe
Label4.Caption = Range("H3").Value 'gibt richtigen Wert aus
End Sub
Wo zum Geier liegt der Fehler?
Gruß Uwe