Formel in Userform
#1
Hallo!

Ich habe eine Userform für Pflanzen, die vor ~ 25 Jahren programmiert wurde.
In dieser Userform gibt es eine Combobox für den deutschen Namen und einen für den lateinischen Namen einer Pflanze.
Das Ding funktioniert aktuell so, dass im Hintergrund eine "Pflanzendatei" offen ist und man wahlweise den deutschen oder lateinischen Namen eingeben kann und bei Klick auf einen Button "hinzufügen" trägt er die Werte aus der Pflanzendatei in mein Excel ein.
Der jeweilige Name der Pflanze muss aber "korrekt" eingegeben werden, also vom Wortbeginn und nicht einfach ein Teil der Wortmitte - als Beispiel: wenn ich "Rose" eingebe, kommen nicht alle verschiedenen Rosen, sondern gar nichts (bzw. Fehlermeldung), weil in der Pflanzendatei "Edelrose" steht.

Ich möchte nun erreichen, dass es keine Unterscheidung zwischen deutschen und lateinischen Namen gibt, also nur noch 1 Eingabefeld und vor allem, dass man jeglichen Teil eines Pflanzennamens eintragen kann.

Will ich das überhaupt mit den bestehenden Comboboxen machen oder eher mit einem Textfeld und einer Listbox? Mit Userforms kenne ich mich leider noch weniger aus, als mit "regulärem" VBA 

Ich habe ziemlich dasselbe, das ich jetzt brauche, als Formel in meinem Excel (bei den Vereinen gibt es halt nur 1 Spalte, die durchsucht werden muss und nicht 2, was aber im Grunde egal sein müsste), tu mir aber mit der Über- bzw. Umsetzung schwer, vielleicht kann mir jemand von euch helfen?
Diese Formel habe ich für die Vereine verwendet:

=WENNFEHLER(INDEX(rng_Vereine;AGGREGAT(15;6;(ZEILE(rng_Vereine)-1)/--(SUCHEN($A$2;rng_Vereine)>0);ZEILE()-2);1);"")

Ist es verständlich/nachvollziehbar, was ich versuche zu erreichen?
Eine Beispieldatei kann ich leider nicht hinzufügen. Dass das ganze Konstrukt funktioniert müsste ich 4 Dateien mit sämtlichen arbeitsrelevanten Daten hochladen und das gefällt meinem Chef nicht sonderlich..

Danke schonmal an alle, die sich für mich Zeit nehmen :)
Antworten Top
#2
Hallo,

in VBA gibt es die Suchfunktion "Range.Find("Suchwort",,xlalues, xlpart)"

Damit würde bei der Eingabe "Rose" auch "Edelrose" gefunden werden.

mfg
Antworten Top
#3
...kleine Korrektur von Fenneks Tippfehler:

Bei xlalues fehlt ein v... korrekt muss es heißen: xlValues
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#4
Hallo Fennek,

wenn ich das so eingebe kommt die Fehlermeldung, dass ein = erwartet wird ..

Was übersehe ich?

LG Phaona
Antworten Top
#5
gelöscht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
(11.01.2022, 11:15)Klaus-Dieter schrieb: gelöscht.

was meinst du damit?

(10.01.2022, 13:27)Ralf A schrieb: ...kleine Korrektur von Fenneks Tippfehler:

Bei xlalues fehlt ein v... korrekt muss es heißen: xlValues

Ich versteh's nicht :( wohin schreib ich das? 

Ich habe nun versucht ein Textfeld und eine neue Combobox zu erstellen, aber ich scheitere schon daran, die ComboBox zu befüllen.
.List funktioniert nämlich aus irgendeinem Grund nicht, geschweigedenn diese Liste irgendwie zu filtern.
Bin schon ziemlich frustriert
Antworten Top
#7
Hallo,

vermutlich ist ein Ansatz mit Formeln besser für Dich geeignet, aber wenn Du möchtest lade eine Beispiel-Datei mit den Begriffen (ohne die UserForm) hoch.

mfg
Antworten Top
#8
Hallo,

wenn ich die Formel in der Userform verwenden kann, soll mir mittlerweile alles recht sein ^^
Leider kann ich auf die UF nicht verzichten..

Ich hab mein Excel zusammengestutzt, damit mein Chef nicht meckern kann, dass ich sie hochlade.
(Die Pflanzendatei muss beim hinzufügen/ändern (Tabellenblatt "Kulturen") offen sein, normalerweise wird sie automatisch geöffnet - hab den Block aber auskommentiert)

Die Userform Add_Pflanzen ist von mir unberührt, außer dass ich bereits ganz unten eine Textbox und noch eine Combobox erstellt hab.
Ziel ist es, wie gesagt, dass ich in die Textbox irgendeinen Teil irgendeines Pflanzennamens (egal, ob deutsch oder latein) eingeben kann und in der ComboBox werden die Ergebnisse angezeigt

Im Tabellenblatt "Vereine" in der Spalte A sieht man, wie ich die Formel angewandt hab (in der Ergebnisliste muss man scheinbar ein bisschen hinaufscrollen, um zu den Ergebnissen zu kommen, glücklicherweise funktioniert das in der Originaldatei wunderbar).

Danke nochmal für deine Unterstützung!


Angehängte Dateien
.xlsx   Pflanzen2000.xlsx (Größe: 535,19 KB / Downloads: 6)
.xlsm   CEFshare.xlsm (Größe: 153,31 KB / Downloads: 6)
Antworten Top
#9
sorry, sich in ein so komplexes Projekt einzuarbeiten um ein Detail zu korrigieren, erfordert zu viel Zeit.

mfg
Antworten Top
#10
Hallo,


Zitat:was meinst du damit?


das ich meine Antwort gelöscht habe, weil zwischendurch jemand anders einen ähnlichen Vorschlag gemacht hatte.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste