Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte in Listbox zusammenzählen

Forumthread: Werte in Listbox zusammenzählen

Werte in Listbox zusammenzählen
Josef
Hallo!
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
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Werte in Listbox zusammenzählen
16.05.2012 10:31:21
xr8k2
Hallo Josef,
evtl. so:
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ß,
xr8k2
Anzeige
Nachtrag ...
16.05.2012 10:33:30
xr8k2
Hihi ... muss natürlich
Private Sub SummeListBox()
heißen ;-)
Gruß,
xr8k2
AW: Nachtrag ...
16.05.2012 10:44:09
Josef
Hallo!
Danke für Deine Antwort.
Bekomme den Fehler "Typen unverträglich"
und "erg = erg + ListBox14.List(x, y)" wird markiert.
Senkrecht möchte ich z.B. die Einträge in der Spalte 3 in der ListBox zusammenzählen.
Danke
Josef
Anzeige
AW: Nachtrag ...
16.05.2012 11:06:14
xr8k2
Hallo Josef,
der Fehler kommt wohl daher, dass in der Listbox auch nicht-numerische Werte enthalten sind.
Du schreibst:
"Ich möchte in einer Listbox in einer UserForm die Werte waagrecht und auch senkrecht zusammenzählen"
und da bin ich davon ausgegangen, dass alle Listboxeinträge (alle Zeilen und Spalten) in einer Summe zusammengführt werden sollen ... aber dem ist scheinbar nicht so ;-)
Präzisiere doch noch mal, was hier wie addiert werden soll.
Gruß,
xr8k2
PS: Die schleifenfreie Kurz-Lösung von weiter "Unten" wäre dann damit auch hinfällig ^^
Anzeige
... geht ja noch einfacher ...
16.05.2012 10:41:48
xr8k2
Hallo Josef,
geht noch einfacher:
Private Sub SummeListBox()
Label1.Caption = Application.Sum(ListBox1.List)
End Sub
Gruß,
xr8k2
AW: ... geht ja noch einfacher ...
16.05.2012 10:49:28
Josef
Hallo!
Bekomme auch hier den Fehler "Typen unverträglich"
Danke
josef
AW: Äpfel und Birnen und das alles unsichtbar
16.05.2012 11:27:43
JoWE
Hallo Josef,
wir wissen leider nicht welche Daten sich in Deiner Listbox befinden, hier scheint aber das Problem zu liegen. Wär's nicht evtl. einfacher, die Summierung gleich beim Füllen der Listbox zu ermitteln?
Übrigens,
willige Helfer hätten einen echten Vorteil, würde ihnen eine Beispieltabelle zur Verfügung stehen!
Gruß
Jochen
Anzeige
Lösung jetzt beim Googlen gefunden
16.05.2012 11:42:30
Josef
Danke für die versuchte Hilfe
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

Josef
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Werte in Listbox zusammenzählen in Excel VBA


Schritt-für-Schritt-Anleitung

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.


Häufige Fehler und Lösungen

  1. 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.

  2. 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.


Alternative Methoden

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.


Praktische Beispiele

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.


Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige