Ich möchte in einer Listbox in einer UserForm die Werte waagrecht und auch senkrecht zusammenzählen und die Summe in einem Label anzeigen lassen.
Wie würde hier bitte eine VBA Lösung lauten ?
Danke
Josef
Private SummeListBox()
Dim x As Long, y As Long
Dim erg As Double
For x = 0 To ListBox1.ColumnCount - 1
For y = 0 To ListBox1.ListCount - 1
erg = erg + ListBox1.List(x, y)
Next y
Next x
Label1.Caption = erg
End Sub
Gruß,Private Sub SummeListBox()
heißen ;-)Private Sub SummeListBox()
Label1.Caption = Application.Sum(ListBox1.List)
End Sub
Gruß,Private Sub CommandButton18_Click()
Dim iX As Integer
Dim dSumme As Double
For iX = 0 To ListBox14.ListCount - 1
dSumme = dSumme + Val(Replace(ListBox14.List(iX, 0), ",", "."))
Next iX
Label179.Caption = Format(dSumme, "#0.00")
Dim iY As Integer
Dim dSumme1 As Double
For iY = 0 To ListBox14.ListCount - 1
dSumme1 = dSumme1 + Val(Replace(ListBox14.List(iY, 1), ",", "."))
Next iY
Label180.Caption = Format(dSumme1, "#0.00")
End Sub
Um die Werte in einer Listbox in einer UserForm zusammenzuzählen und das Ergebnis in einem Label anzuzeigen, kannst du den folgenden VBA-Code verwenden. Dieser Code summiert sowohl waagrecht als auch senkrecht. Achte darauf, dass deine Listbox numerische Werte enthält, um Fehler zu vermeiden.
Private Sub SummeListBox()
Dim x As Long, y As Long
Dim erg As Double
For x = 0 To ListBox1.ColumnCount - 1
For y = 0 To ListBox1.ListCount - 1
erg = erg + Val(ListBox1.List(y, x)) ' Werte aus der Listbox summieren
Next y
Next x
Label1.Caption = Format(erg, "#0.00") ' Ausgabe der Summe im Label
End Sub
Stelle sicher, dass der Code in das richtige Modul eingefügt wird. Du solltest den Namen der Listbox und des Labels entsprechend deiner UserForm anpassen.
Typen unverträglich: Dieser Fehler tritt auf, wenn nicht-numerische Werte in der Listbox enthalten sind. Stelle sicher, dass alle Werte, die du zusammenzählen möchtest, numerisch sind. Du kannst die Val
-Funktion verwenden, um sicherzustellen, dass nur numerische Werte summiert werden.
Leere Listbox: Wenn die Listbox leer ist, wird der Code ebenfalls einen Fehler auslösen. Füge eine Überprüfung hinzu, um sicherzustellen, dass die Listbox nicht leer ist, bevor du die Summierung durchführst.
Eine einfachere Methode, um Werte in einer Listbox zusammenzuzählen, ist die Verwendung der Application.Sum
-Funktion. Hier ein Beispiel:
Private Sub SummeListBox()
Label1.Caption = Format(Application.Sum(ListBox1.List), "#0.00") ' Summieren der Werte
End Sub
Diese Methode ist kürzer, funktioniert jedoch nur, wenn alle Einträge in der Listbox numerisch sind.
Hier ist ein Beispiel, wie du die Summierung beim Füllen der Listbox durchführen kannst:
Private Sub UserForm_Initialize()
ListBox1.AddItem "5"
ListBox1.AddItem "10"
ListBox1.AddItem "15"
Label1.Caption = Format(Application.Sum(ListBox1.List), "#0.00") ' Sofortige Summenberechnung
End Sub
In diesem Beispiel wird die Summe der Listbox-Werte gleich beim Initialisieren der UserForm berechnet und im Label angezeigt.
Datenvalidierung: Verwende eine Datenvalidierungsroutine, um sicherzustellen, dass nur gültige numerische Werte in die Listbox eingefügt werden.
Dynamische Anpassungen: Überlege, ob du die Summe dynamisch aktualisieren möchtest, während die Werte in der Listbox geändert werden. Das kannst du mit dem Change
-Ereignis der Listbox erreichen.
Debugging: Nutze Debug.Print
oder MsgBox-Anweisungen, um während der Entwicklung Probleme zu identifizieren.
1. Wie kann ich sicherstellen, dass nur numerische Werte summiert werden?
Verwende die Val
-Funktion, um sicherzustellen, dass nur numerische Werte summiert werden und nicht-numerische Werte ignoriert werden.
2. Was kann ich tun, wenn die Listbox leer ist?
Füge eine Überprüfung in deinen Code ein, die sicherstellt, dass die Listbox nicht leer ist, bevor du die Summierung durchführst.
Jetzt bist du bereit, Werte in einer Listbox in Excel zusammenzuzählen!
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen