Notifications
Clear all

[Gelöst] VBA Listbox füllen  

  RSS
TWeinsheimer
Mitglieder Moderator

Guten Abend zusammen,

Ich möchte folgendes per VBA lösen und benötige dazu eure Hilfe:

 

Ich möchte, dass alle noch NICHT abgeschlossenen Aufträge in einer Listbox aufgeführt werden.

D.h. Wenn die Summe der fertigen Mengen ("E") zu einem Auftrag kleiner ist, als die Auftragsmenge ("C"), soll die Auftragsnummer ("B") in die Listbox hinzugefügt werden

 

 

Beispieldatei im Anhang

 
 
Dieses Thema wurde geändert 3 Monaten zuvor 2 times von TWeinsheimer
Zitat
Veröffentlicht : 13/05/2020 9:13 pm
Patrick Schulze
Mitglied Admin

Hi, 

Ich konnte mir die Datei leider aus Zeitgründen noch nicht ansehen.

Aber aus den Infos die du geschrieben hast würde ich sagen. Erstellst du eine if Abfrage und sagst sobald E kleiner als C ist füge C hinzu.

Ich werde mir die Datei mal zeitnah ansehen und dir dann ggf. Eine Lösung hier zusenden. 

Lieben Gruß 

Patrick 

Gründer und Administrator von Seo-Rec.net

Bei Fragen oder Problemen könnt Ihr mich gerne anschreiben im Community Chat oder per E-Mail.

Meine Firmen Website: https://webster-it.de
Viel Spaß bei SEO-Rec!

AntwortZitat
Veröffentlicht : 16/05/2020 11:08 am
TWeinsheimer
Mitglieder Moderator

@pschulze das wäre super.

weiß nicht wie ich es angesehen soll...

 

Viele Grüße

Tino

AntwortZitat
Veröffentlicht : 16/05/2020 1:52 pm
TWeinsheimer
Mitglieder Moderator

@pschulze

Es muss beachtet werden, dass nur wenn

die Summe der Fertigen Auftragsmenge ("E") kleiner ist als die Auftragsmenge ("C"), die Auftragsnummer in einer Listbox aufgeführt werden soll.

Des Weiteren sollen keine Duplikate in der Listbox stehen

AntwortZitat
Veröffentlicht : 16/05/2020 6:06 pm
TWeinsheimer
Mitglieder Moderator

Habe es nun hinbekommen mit folgendem Code:

 

 Dim Stand As Scripting.Dictionary
    Dim Menge As Scripting.Dictionary
    Dim i As Long, Auftrag, Daten
       
    Set Stand = New Scripting.Dictionary
    Set Menge = New Scripting.Dictionary
   
    Daten = Tabelle1.Range("A2").CurrentRegion
   
    'Daten sammeln und Summe bilden
    For i = 2 To UBound(Daten, 1)
        Menge(Daten(i, 2)) = Daten(i, 3)
        Stand(Daten(i, 2)) = Stand(Daten(i, 2)) + Daten(i, 5)
    Next i
  
   'Liste zusammenstellen
    For i = 0 To Menge.Count - 1
        Auftrag = Menge.Keys(i)
        If Menge(Auftrag) > Stand(Auftrag) Then
            ListBox_angefangene_Auftr?ge.AddItem Auftrag
        End If
    Next i

AntwortZitat
Veröffentlicht : 16/05/2020 6:54 pm
Patrick Schulze gefällt das