PDA

Vollständige Version anzeigen : Combo Boxen / Input Box ?


Krytex92
02.07.2014, 08:28
Guten Tag liebe Community,

ich hätte mal eine Grundlegende Frage an euch und zwar möchte ich wissen ob es grundsätzlich möglich ist einen Button verschiedene Methoden zuzuweisen.
Ich meine damit folgendes : Ich habe ein Button, diesen kann ich ja eine Methode/ Makro zuweisen. Ich möchte nun das sich nach den Drücken des Buttons ein Textfeld ( Combo Box / Input Box ? ) öffnet und ich hier eine "Rolle" auswählen kann, z.B. das es die Auswahlmöglichkeiten 1,2 oder 3 gibt und je nachdem welche Rolle ich wähle, also 1,2 oder 3 wird eine Variable in der Methode der Wert 1,2 oder 3 zugewiesen und mit einer IF-Abfrage kann ich dann ja quasi verschiedene "Unter-Methoden" abspielen. Könnt ihr mir vielleicht sagen wie so was zu machen ist oder wo nach ich genau suchen soll? ich finde leider nichts geeignetes..

LG Krytex

Beverly
02.07.2014, 09:30
Hi,

am einfachsten ist es, wenn du ein UserForm benutzt.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Hajo_Zi
02.07.2014, 09:31
ich würde eine Userform Combobox benutzen, bei einer InputBox musst Du was eingeben, wobei nicht klar ist was der Benutzer eingibt.

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

R J
02.07.2014, 11:27
...warum den Umweg über den Button? Nimm doch gleich das, was Du brauchst... Listbox, Combobox, Textfeld...

Im Übrigen lassen sich Pauschalfragen ohne konkreten Background nur sehr selten konkret beantworten.-..;)

Krytex92
02.07.2014, 11:44
Es geht deshalb über den Button da ich den Button ursprünglich dafür programmiert hatte Dateien aus geschlossenen Excel Worksheets zu ziehen, das klappt auch alles wunderbar, jedoch soll je nach Benutzer des Dokuments ( deshalb auch die verschiedenen Rollen ) nur bestimmte Daten aus den geschlossenen Worksheets gezogen werden und nicht alles, sondern halt je nach Fall bzw Rolle verschiedene. Die Methode zum Daten ziehen aus geschlossenen Excel Sheets habe ich auch schon, es fehlt lediglich nur noch die "Rollenabfrage" und deshalb die Frage :)

Beverly
02.07.2014, 13:06
Die erste und die zweite Antwort auf deine Frage hast du auch schon gelesen?

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Krytex92
02.07.2014, 13:12
@ Beverly, ja habe ich, ich bin auch schon am rumprobieren, hab nur leider noch nichts anständiges hingebastelt, darum habe ich darauf noch kein bezug genommen, trotzdem schonmal danke für die tipps ! :)

R J
02.07.2014, 15:02
Ich möchte nun das sich nach den Drücken des Buttons ein Textfeld ( Combo Box / Input Box ? ) öffnet und ich hier eine "Rolle" auswählen kann

Normalerweise ist die Vorgehensweise genau andersherum. Erst die Auswahl, dann der Button...
Und, welchen Sinn hat das Ganze? Du willst, dass der User nur die, seiner Rolle zugeordneten Dateien öffnen kann. Aber, soweit ich das sehe, kann trotzdem jeder jede Rolle auswählen... und somit auch alle Dateien laden...:)

Krytex92
02.07.2014, 15:08
Ich habs falsch beschrieben.. Das Wort "Rolle" passt nicht ganz. Folgendes Szenario.

Ich hab meine Excel Datei, diese wird dann an 5 Personen verschickt. Jeder von diesen Personen füllt sein Teil aus und schickt mir das Dokument wieder. Dann drücke ich mein Button, wähle die "Rolle" 2 und wähle dann die Datei der Person mit der Rolle 2 aus. Ich möchte hiermit verhindern das Daten in meine Ursprungsexcel Datei geladen werden, die die Person gar nicht eintragen sollte. Sei es durch ein Zeilenrutscher oder was weiß ich..

Beverly
02.07.2014, 15:42
Selbstverständlich lässt sich das auch mit einem Kombinationsfeld im Tabellenblatt lösen, aber ein UserForm mit z.B. mehreren OptionButton ist sicher günstiger, zumal die dortigen Steuerelemente noch weitere Möglichkeiten bieten. Schau dir dazu mal das angehängte Beispiel an - da wird der Code durch eine Select Case Anweisung verzweigt, je nachdem welcher OptionButton aktiviert ist (im Beispiel nur eine MsgBox-Ausgabe, anstelle derer du dann deine jeweiligen Codevarianten setzen kannst).

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

R J
02.07.2014, 16:07
...den Button kannst Du Dir ganz sparen. Nimm die Rollen (oder was auch immer) in die Liste auf, und werte das Change Ereignis der Listbox aus...

EarlFred
02.07.2014, 16:39
Hallo,

warum überhaupt VBA? Daten aus geschlossenen Mappen ziehen geht auch simpel per Formel - grad, wenn noch die Anzahl der Dateien bekannt ist und man es in der Hand hat, die Namen entsprechend zu vergeben. Dann braucht man nichtmal mit "dynamischen / unbekannten" Dateinamen hantieren!
Und ein paar Bedingungen zu prüfen, damit man die richtigen Daten krallt, schafft man auch mit Formeln.

Da rückt keine Kanone gegen viele Spatzen vor, sondern eine ganze Armee gegen einen einzigen.
Und das Hauptproblem: Bei der Beschreibung weiß keiner, wo er überhaupt hinrennen soll.

Ich schlage Dir vor: Mach Dir mal ein klares Konzept, prüfe Dein Wissen ab und was Du damit erschlagen kannst. Ich denke, damit kommst Du schon weit. Vorhandene Buttons "irgendwie um irgendwelche" ComboBoxen zu erweitern erweckt den Eindruck bei mir, nicht der direkte Weg zu sein (Um es nett zu formulieren, denn ich soll netter sein, sagt man mir.).

Grüße
EarlFred

Beverly
02.07.2014, 16:47
...da würde ich doch besser eine Sicherheit einbauen und das ganze durch den zusätzlichen Klick auf den CommandButton erst dann auslösen, wenn ich weiß, ich will tatsächlich genau diese Auswahl ausführen, denn wie schnell hat man mal die falsche Auswahl getroffen und schon wird derade der Code ausgeführt, der in dem Augenblick unerwünscht ist - genau das passiert beim Klick auf einen Eintrag in der Listbox...

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

R J
02.07.2014, 17:24
...smile... na, Karin, für die Sicherheit wurden nicht die Buttons sondern die MsgBoxen erfunden...:D

...sind Sie wirklich ganz gaaaanz sicher?

Beverly
02.07.2014, 17:33
...sind Sie wirklich ganz gaaaanz sicher?

Auf jeden Fall ist es sicherer,zur Kontrolle vor Ausführung einen Zwischenschritt einzubauen, gleichgültig wie dieser Zwischenschritt aussieht - z.B. könnte man in einer ListBox statt des Klick den Doppelklick verwenden... ;)

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Krytex92
03.07.2014, 09:40
Danke für die rege Disskusion und den vielen Ideen, ich werde mir mal meine Gedanken machen !:)