PDA

Vollständige Version anzeigen : Kombinationsfeld erstellen?


Daniela P.
03.09.2001, 16:33
Hallo Freunde,

wie kann ich im Excel ein "Kombinationsfeld" erstellen? Diese Feld soll es dem Anwender ermöglichen aus verschiedenen Antworten auswählen zu können. Außerdem muß der Anwender in der Excel-Datei die "Kombinationsfelder" die zur Eingabe bereit sind sofort erkennen können. (z. B. durch ein Kästchen mit Pfeil nach unten).

Vielen Dank für eure Hilfe!
GRuß Daniela

<p align="left"><font size="1" face="Century Gothic"><font color="#000000">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag ein Link entfernt.</font>

jinx
03.09.2001, 17:17
<font size="2" face="Century Gothic">Moin, Daniela,

zuerst die Symbolleiste Steuerelement-Toolbox aktivieren (so noch nicht geschehen), z.B. über Ansicht - Symbolleisten ein Häkchen vor diese Leiste setzen.

Per Symbol Kombinationsfeld aus dieser Leiste ein Feld auf dem gewünschten Tabellenblatt aufziehen.

Per Alt+F11 den VBA-Editor starten und im Projekt-Fenster (links oben) auf die gewünschte Tabelle klicken, per F7 das Codefenster öffnen (so es denn nicht automatisch erschienen ist - Position normalerweise rechts oben) und dort folgenden Code eingeben und entsprechend ändern:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> UserForm_Initialize()
<span class="TOKEN">With</span> ComboBox1
.AddItem &quot;Auswahl1&quot;
.AddItem &quot;Auswahl2&quot;
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

<font color="#808080" size="3" face="Arial Black">HTH
jinx</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag der Code für dieses Forum und die Signatur angepasst.<font>

peppi
03.09.2001, 20:33
Hallo,

diesen Beitrag hast Du doch schon mal gepostet??
Siehe auch dort (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=55094) die Antworten !!

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten und die Signatur angepasst...</font>

theonlyrobi
05.09.2004, 19:15
Hallo Leute,

wenn ich ein Kombinationsfeld nicht über eine Userform einfügen möchte, sondern direkt auf einem Arbeitsblatt, dann habe ich das Problem, dass es die Auswahl mir jedes Mal addiert, wenn ich auf den Auswahlknopf drücke. Ich habe folgenden Code benutzt:

Private Sub combobox_DropButtonClick()

With monat_aendern
.AddItem "Auswahl1"
.AddItem "Auswahl2"
End With

End Sub

Wenn ich sozusagen ein 2tes Mal auswählen will, habe ich 2 mal die Begriffe dastehen. Gibt es einen Befehl, um den Inhalt der Combobox vorher zu löschen?

Robert

theonlyrobi
07.09.2004, 09:01
*schieb*

jinx
07.09.2004, 16:28
<font size="2" face="Century Gothic">Moin, Robert,

.Clear
als ersten Befehl, bevor hinzugeschrieben wird.</font>

theonlyrobi
07.09.2004, 17:54
Hallo Jinx,

danke für deine Antwort! Jetzt steht zwar immer nur die einfache Auswahl da, aber wenn ich einen Punkt auswähle, erscheint er daraufhin nicht in der Box. Hier mein Code:
Private Sub monat_aendern_DropButtonClick()

With monat_aendern
.Clear
.AddItem "Januar"
.AddItem "Februar"
.AddItem "März"
.AddItem "April"
.AddItem "Mai"
.AddItem "Juni"
.AddItem "Juli"
.AddItem "August"
.AddItem "September"
.AddItem "Oktober"
.AddItem "November"
.AddItem "Dezember"
End With

End Sub

Ich hab schon die anderen Ereignisse durchprobiert, aber entweder addiert sich die Auswahl oder das Ausgewählte erscheint nicht anch dem Anklicken. Was mache ich denn falsch?

jinx
07.09.2004, 18:12
<font size="2" face="Century Gothic">Moin, Robert,

ohne die Mappe dazu: alles? ;)

Die folgenden Codes sind hinter der Tabelle, auf der sich die Combobox befindet - nach der Auswahl wird der Wert in die Zelle A1 geschrieben:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
&nbsp;
<span class="TOKEN">Private Sub</span> ComboBox1_Change()
Range(&quot;A1&quot;).Value = ComboBox1.Text
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span><hr>&nbsp;
<span class="TOKEN">Private Sub</span> ComboBox1_GotFocus()
<span class="TOKEN">Dim</span> intCounter <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
<span class="TOKEN">With</span> ComboBox1
.Clear
<span class="TOKEN">For</span> intCounter = 1 <span class="TOKEN">To</span> 12
ComboBox1.AddItem Format(DateSerial(1, intCounter, 1), &quot;mmmm&quot;)
<span class="TOKEN">Next</span> intCounter
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div></font>

theonlyrobi
08.09.2004, 10:11
Hallo Jinx,

danke so hats geklappt. Das einzige Problem ist noch dass, wenn ich die Mappe speichere und wieder öffne, statt dem Monatsnamen der jeweilige Wert 0-12 in der Box steht.

Wundert mich dass es nicht die Möglichkeit gibt, ohne Makro in einem Arbeitsblatt nen Dropdownmenü zu erstellen, aus dem man festgelegte Begriffe auswählen kann. Über Daten --> Gültigkeit wär zwar noch ne Möglichkeit, aber das ist ja nicht wirklich schick.

jinx
08.09.2004, 17:11
<font size="2" face="Century Gothic">Moin, Robert,

für diese grafische Aufbereitung wäre dann ein Ereignis in Workbook_Open zuständig...</font>