Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA Konfiguratore erstellen

Excel VBA Konfiguratore erstellen
21.09.2023 14:35:57
Salvatore Di Rosolini
Hallo zusammen,

ich würde gerne einen Konfigurator über Excel VBA erstellen, bin jedoch betreffend VBA ein Anfänger, daher hier mein Hilferuf!

Der Konfigurator soll 4 Dropdowns (Branche, Bereich, Tätigkeit, Teamgröße) enthalten, die abhängig voneinander sind und nach einem jeweiligen Dropdown diverse Optionen ausschließen, sodass folglich am Ende über ein CommandButton EIN Ergebnis (Preis) angezeigt wird. Duplikate sollen über die Dropdowns nicht ersichtlich sein.

Eine Liste mit den Stammdaten für die jeweiligen Dropdowns habe ich bereits gefertigt.

Über UserForm habe ich die Maske mit den Dropdown-Felder und CommandButton schon entworfen. Nun muss ich die Felder mit den jeweiligen Stammdaten füllen, weiß aber nicht wie... Gerne würde ich das Ergebnis (Preis) direkt auf der UserForm unter/neben dem CommandButton sehen.

Die Stammdaten habe ich zur Verdeutlichung beigefügt.
https://www.herber.de/bbs/user/163020.xlsm

Vielen Dank für jegliche Hilfe im Voraus!






9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Konfiguratore erstellen
21.09.2023 16:41:47
Yal
buon journo Salvatore,

warum VBA? es sieht zwar gut aus (wobei... deine Farben! ;-), ist aber umständlich und muss immer wieder gepflegt.

Dein Schwierigkeit besteht daran aus der Liste der Branche, Bereich, Tätigkeit und Teamgröße je ein Liste ohne doppelte Einträge. Dafür kann man unter xl365 die Funktion EINDEUTIG() verwenden (habe selber nur 2016). Alternativ wäre Power Query.

Dann die Listen als Tabelle umwandeln und mit passenden Namen versehen: die Tabelle "Konsumgüter" (J5:J7) listet jeden Bereich, den es in der Branche Konsumgüter gibt.
Dann kann man über Datenüberprüfung eine kaskasdierte Dropdown im Blatt.
Fügt man noch vor der Liste der Kombination einen Schlüssel bestehend aus der Verkettung jede Element, kann man per Sverweis (Zelle F3) das Ergebnis sofort zeigen lassen.

Voilà.
https://www.herber.de/bbs/user/163021.xlsm

Wenn dein Anliegen aber daran besteht, VBA zu erlernen, einfach sagen. Dann gebe ich dir einen Skript.

VG
Yal
Anzeige
AW: Excel VBA Konfiguratore erstellen
21.09.2023 16:56:40
Salvatore Di Rosolini
Hallo Yal,

vielen Dank für deine Hilfe!

Auch wenn die Farben nicht ganz so schön sind, würde ich dich um ein Skript für VBA bitten, wenn das nicht ganz so umständlich ist.

Beste Grüße
Salvatore
Abhängige DropDown über Baum
22.09.2023 10:29:00
Yal
Hallo Salvatore,

Es gibt verschiedene Art, an das Thema ranzukommen. Ich habe für einen Methode über einen Baum entschieden: da jede Eintrag-Kombi eindeutig ist, kann man das gesamte Konstrukt in Parent-Child aufbauen (Parent: Spalte n, Child: Spalte n+1) und daraus einen Baum herstellen (oder hierarchie).

Es führt dazu, dass der erste Combobox mit allen Elemente des "Würzels" zu befüllen ist. Wenn diese eine Wert annimmt, wird der nächsten cbx mit den "Children" dieses Parent befüllt. usw. Am Ende kommt der Wert per MsgBox.

Du kannst beliebige Einträge in der Tabelle hinzufügen, der "Baum" wird bei jedem Start der Formular neu aufgebaut.
Sollte mehrere Einträge mit dieselbe Kombination Branche-Bereich-usw überschriebt die letzte die Werte davor.

https://www.herber.de/bbs/user/163037.xlsm

VG
Yal
Anzeige
AW: Abhängige DropDown über Baum
22.09.2023 15:40:25
Herbert Grom
Hi Yal,

das ist einfach nur genial!!! Ich bin echt geplättet!

Servus
AW: Abhängige DropDown über Baum
22.09.2023 16:06:55
Yal
Hallo Herbert,

Vielen Dank für den Lob.
Ich habe mir einfach den Spass erlaubt, mich auszutoben, wenn auch übers Ziel hinaus geschossen.

Alternativ wäre eine einzige, flache Collection (oder Dictionary) und den Pfad als Schlüssel: "Inhalt Spalte1;Inhalt Spalte2; .."
Wäre aber weniger spassig gewesen.

VG aus Tübingen anch Pforzheim
Yal
AW: Excel VBA Konfiguratore erstellen
21.09.2023 16:51:29
Herbert Grom
Hallo Salvatore,

wenn man alle 5 Parameter () zusammen sieht, gibt es keine Duplikate. Oder was meinst du damit?

Warum ist bei der Teamgröße immer ein Minuszeichen vor der Zahl?

Servus
Anzeige
AW: Excel VBA Konfiguratore erstellen
21.09.2023 17:59:57
daniel
HI
bei Excel-gut solltest du das ohne VBA zuwege bringen.

Schritt 1:
verknüpfe jede Combobox mit einer ausgabezelle, hierzu trägst du in die Eigenschaft ControlSource die Zelladresse ein.
in diese Zelle wird dann der Combobox-Wert geschrieben.

Schritt 2:
erstelle mit EINDEUTIG und FILTER für jede Spalte eine Formel, die genau das macht, was die Funktionsnamen beschreiben, nämlich die Werte jeder Spalte herausfiltern, die sich durch die Eingaben in die Comboxen ergeben.
die Formel für die Spalte A würde in etwa so aussehen (hier nur als Prinzip)

=Eindeutig(Filter(SpalteA;((SpalteB=ComboboxB)+(ComboboxB=""))*((SpalteC=ComboboxC)+(ComboboxC=""))*((SpalteD=ComboboxD)+(ComboboxD=""))))

das dann eben für alle Spalten.

diese Zellen sollten dir die gefilterten Werte geben

Schritt 3:
lege jetzt für jede Zellen mit dieser Filterformel einen Namen an. Beziehe diesen Namen auf die Zelle mit der Filterformel und hänge ein # an, dh das bezieht sich auf sollte so aussehen =Tabelle1!$A$1#
durch den Hashtag passt sich dann der Name automatisch an die Zellen an, in die die Filterformel ihr Ergebnis spillt.

Schritt 4: Trage jetzt für jede Combobox diesen Namen in die Eigenschaft: RowSource ein.
Damit ist dann dieser Zellbereich die Quelle für die Comboboxliste und du hast dort die gefilterten und eindeutigen Werte.

Gruß Daniel
Anzeige
AW: Excel VBA Konfiguratore erstellen
21.09.2023 17:02:03
Salvatore Di Rosolini
Hallo Herbert,

mit Duplikate meinte ich, dass sobald ein Dropdown gewählt wir (bsp. Branche) nur je 1x Konsumgüter und 1x Automotive angezeigt. Aufgrund der verschieden möglichen Kombination musste ich in den Stammdaten die Begriffe in den Spalten wiederholen.

Das Minuszeichen vor der Zahl im Bereich Teamgröße steht für "bis". Das Zeichen kann auch gerne mit dem Wort "bis" ersetzt werden.

Besten Dank und beste Grüße
Salvatore
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige