ich hab mir ein UserForm gebastelt, das bei Eingabe der Abteilung die jeweilige Kostenstelle und die insgesamt zu bestellende Menge anzeigt - was auch schon funktioniert.
Nun will ich über eine ListBox, die genauen Artikelnummern und die dazugehörige Menge anzeigen lassen, die die jeweilige Abteilung gebraucht hat. Leider komm ich bei diesem Punkt nicht weiter.
Meine Tabelle, mit der die Listbox "gefüttert" werden soll, ist folgendermaßen aufgebaut:
Spalte A: Abteilung
Spalte B: Artikelnummer
Spalte C: Artikelbezeichnung
Spalte D: Menge
Und hier noch mein Code:
Private Sub UserForm_Click()
'Menge pro Abteilung
BuchMenge = 10
EinMenge = 15
ProdMenge = 5
MarkMenge = 8
VtMenge = 5
'Kostenstelle anzeigen
If UCase(Abteilung.Value) = "BUCHHALTUNG" Then
Kostenstelle.Value = 100
ElseIf UCase(Abteilung.Value) = "EINKAUF" Then
Kostenstelle.Value = 200
ElseIf UCase(Abteilung.Value) = "PRODUKTION" Then
Kostenstelle.Value = 300
ElseIf UCase(Abteilung.Value) = "MARKETING" Then
Kostenstelle.Value = 400
ElseIf UCase(Abteilung.Value) = "VERTRIEB" Then
Kostenstelle.Value = 500
Else: Kostenstelle = "Eingabe überprüfen!"
End If
'Menge insgesamt anzeigen
If Kostenstelle.Value = 100 Then
Menge.Value = WorksheetFunction.CountIf(Range("A:A"), "Buchhaltung") * BuchMenge
ElseIf Kostenstelle.Value = 200 Then
Menge.Value = WorksheetFunction.CountIf(Range("A:A"), "Einkauf") * EinMenge
ElseIf Kostenstelle.Value = 300 Then
Menge.Value = WorksheetFunction.CountIf(Range("A:A"), "Produktion") * ProdMenge
ElseIf Kostenstelle.Value = 400 Then
Menge.Value = WorksheetFunction.CountIf(Range("A:A"), "Marketing") * MarkMenge
ElseIf Kostenstelle.Value = 500 Then
Menge.Value = WorksheetFunction.CountIf(Range("A:A"), "Vertrieb") * VtMenge
Else: Menge.Value = Kostenstelle.Value
End If
'Listenfeld
End Sub
Vielen Dank schon im Voraus!
VG
P.S. In der "richtigen" Datei brauchen die Abteilungen von jedem Artikel immer eine festgelegte Menge, heißt jeder Artikel, den die Buchhaltung bestellt, wird z.B. 5x gekauft. Deshalb hab ich die insgesamte Mengenanzeige auch mit CountIf gemacht.
P.P.S Verbesserungsvorschläge zum bereits bestehenden Code werden natürlich gerne angenommen :)