Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Userform Listbox: mark. Werte addierenr

Betrifft: Userform Listbox: mark. Werte addierenr von: Mario
Geschrieben am: 03.11.2020 06:42:02

Hallo und guten Morgen, Excelgemeinde!
Ich habe ein Problem mit einer Listbox:

Ich lese Daten aus einer anderen Excel-Datei in das Tabellenblatt 3 ein.
Hier sind Zahlen und Wörter, sowie Datumswerte enthalten. Die Liste kann mehrere hundert Zeilen groß sein.
Jede Zeile hat ein Datum, dieses kann nur einmal vorhanden sein, sich aber 3, 5, 9 oder auch 20mal wiederholen.
Nun übergebe ich mit einem Makro in das Tabellenblatt2 in Spalte N ab Zeile3 jede Datumsangabe aus Tabelle3 einmalig und sortiere aufsteigend.
In Spalte O daneben,stehen Zahlen, die die Anzahl des jeweiligen Datums aus der Tabelle 3 zählen.
Also z.B.:
28.09.2018 15
29.10.2018 10
30.10.2018 27
23.11.2018 4
07.12.2018 4
17.01.2019 17

Nun habe ich eine Userform, die mit einem Commandbutton auf dem Tabellenblatt2 startet und
diese Spalten N und O in eine Listbox in der Userform einliest.
Das funktioniert perfekt. Ich kann auch mehrere Zeilen in der Listbox markieren und die markierten Zeilen wieder in das Tabellenblatt übergeben, damit ich eine weitere Sortierung vollziehen kann.
Nun möchte ich die aus der Listbox markierten Werte der zweiten Spalte addieren. Hintergrund ist, das ich auf ein Ausgabeblatt nur 40 Zeilen ausgeben möchte.
Als Beispiel aus der oberen Liste:
Zeile 1 und 2 ergeben 25, nun könnte ich den Command-Button betätigen. Würde ich aber die dritte Zeile (mit 27 Werten) dazunehmen, würde man über 40 kommen und dann soll der Command-Button nicht funktionieren. Wie das geht, ist kein Problem, nur das zusammenzählen der markierten Werte bekomme ich nicht hin...

Kann mir da jemand helfen??

vielen Dank schon einmal.
Mfg. M.Bacher

Betrifft: AW: Userform Listbox: mark. Werte addierenr
von: Mario
Geschrieben am: 03.11.2020 07:39:55

Hallo!
Ich konnte jetzt mit einem kleinen "Umweg" meine Frage selbst beantworten:
Mit dem Change-Ereignis der Listbox übergebe ich die markierten Zeilen sofort an das Tabellenblatt zurück (Spalten P & Q). In Zelle Q2 habe ich eine Summenformel platziert, die alle eingetragenen Werte darunter addiert. Der Wert vom Q2 gebe ich wieder zurück in eine Textbox in der Userform.
Private Sub ListBox1_Change()
Dim wks As Worksheet
Dim zeile As Long
Dim eintrag As Long
Dim spalte As Long
Tabelle2.Range("P3:Q65536").ClearContents
Set wks = Tabelle2
zeile = 3   'fügt fest ab Zeile 1 ein, hier ggf. noch die erste freie Zeile ermitteln und ab _
dort eintragen

For eintrag = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(eintrag) Then
        For spalte = 1 To 2
            wks.Cells(zeile, spalte + 15) = Me.ListBox1.List(eintrag, spalte - 1)
        Next spalte
        zeile = zeile + 1
    End If
Next
TextBox1.Text = Tabelle2.Range("Q2")
End Sub


Beiträge aus dem Excel-Forum zum Thema "Userform Listbox: mark. Werte addierenr"