Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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

Combox in Userform

Combox in Userform
29.07.2014 11:50:17
ela
Hallo,
ich habe folgendes Problem.
Ich habe eine userform erstellt in der ich 13 Comboboxen habe, die jeweils mit mehreren Auwahlmöglichkeiten zur Verfügung stehen.
Nun ruft mein Programm die Userform mit
Userform2.show
auf. Diese userform wird bei auffruf durch
Private Sub UserForm_Initialize()
' Die Daten werden im Code Zeilenweise eingetragen
Dim i As Integer
Dim CB As Object
i = 0
For Each CB In UserForm2.Controls
If TypeName(CB) = "ComboBox" Then
If CB.Left = 15 Then
With CB
.AddItem "Bericht"
.AddItem "BKnoten"
.AddItem "Monat"
.AddItem "Monat_ohne_Null"
.AddItem "Jahr"
.AddItem "Abteilung"
.AddItem "Dateiart"
.AddItem ""
.ListIndex = i 'Vorbelegung "Schmitz" bei Formularstart
End With
i = i + 1
end if
end if
next CB
mit Werten befüllt und mit "ListeIndex =1" schon auf einen Vordefinierten Wert gelegt. Jetzt hat der User die Möglichkeit eine Auswahlmögluckeiten zu wählen. Wie kann ich diese Auswahl nun wieder zurück an meine aufrufendes Programm schicken und auslesen lassen?
Habe das ganze schon mit
Userform2.ComboBox1.Value
versucht. jedoch nimmt mein Programm immer den Wert, der durch Linstindex schon gesetzt war.
Was kann ich also ändern, damit nicht der vorausgewählte sondern der vom User ausgewählte genommen wird?
Viele Grüße
Ela

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combox in Userform
29.07.2014 11:51:19
ela
Die aufrufende Prozedur liegt im Tabellenblatt 2, welches "Einstellungen" heißt

AW: Combox in Userform
29.07.2014 11:59:36
Hajo_Zi
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Der Dateiname sollte was mit dem Problem zu tun haben.
Ich habe mir z.B. einen Ordner angelegt in dem ich alle Dateien aus dem Internet speichere. Bei Dateinamen wie Test..., Mappe…, Beispiel… wird eine vorhandene überschrieben.
Ein Bild in Excel geöffnet sieht anders aus als das Bild.
Ich habe kein Tool um ein Bild in Excel zu importieren.

Anzeige
Ich habe kein Tool ..
29.07.2014 12:45:36
Rudi
Hallo,
aber anscheinend eins, um blödsinnige Nicht-Antworten zu geben.
Lass es doch einfach sein.
Gruß
Rudi

AW: Combox in Userform
29.07.2014 12:53:58
EtoPHG
Hallo ela,
Da ist vor allem die Frage zu klären, wie die Userform versteckt (Methode .Hide) oder geschlossen (Unload) wird? Wenn letzteres der Fall ist, hast du die Information über den gewählten Eintrag unwiederbringlich verloren. Es geht also nur dann, wenn die UF mit Userform.Hide versteckt wird. Dann sollte dein Code den Wert liefern, der vom Anwender gewählt wurde.
Gruess Hansueli

AW: Combox in Userform
29.07.2014 13:15:45
yummi
Hallo ela,
wie schon erwähnt wurde, wenn du die Userform schliesst (unload) sind alle modalen Variablen der Userform nicht mehr vorhanden. Du kannst also entweder die Userform offen halten um darauf zuzugreifen oder aber in dem event für den Button der das Schliessen auslöst merkst du dir die Werte deiner Comboboxen in einer Variablen Struktur oder in mehreren Variablen, die public sind und zwar vor dem unload. Dann kannst Du bequem auf die Inhalte der Comboboxen zugreifen, von wo immer du willst.
Gruß
yummi

Anzeige
AW: Combox in Userform
29.07.2014 13:45:48
ela
Ok. Klasse.
Hatte es erst versucht das in dem Button der die Userform schließt (Unload me) ich die werte der combobox in variablen einlese und versuche diese aus dem anderen tabellenblatt aus aufzurufen.
Aber mit userform2.hide geht das ja ganz unkompliziert zund funktioniert prima.
Ist es notwendig diese am ende des "normalen" programms zu schließen?
viele grüße und vielen lieben dank
ela

AW: Combox in Userform
29.07.2014 14:07:53
yummi
Hallo ela,
wenn du es sauber machen willst, würde ich die userform spätestens mit Schliessen der Arbeitsmappe unloaden. Ist wie das Zuweisen mit Hilfe von SET, es ist nicht nötig die Variable auf nothing zu setzen aber wesentlich sauberer Stil.
Wenn Du in C Speicher mit alloc erzeugst und ihn niemals freigibst wird dein Rechner bei entsprechender Laufzeit irgendwann abstürzen ;-)
Gruß
yummi

Anzeige
AW: Combox in Userform
29.07.2014 12:52:00
Oberschlumpf
Hi
ne Bsp-Datei wäre wirklich nicht das Verkehrteste!
versuch mal diesen Code im Change-Ereignis der Combobox (ungetetest, weil ja keine Datei vorhanden)

MsgBox ComboBox1.Text
Wenn es funktioniert, wird bei jedem Wertwechsel in Combobox1 der aktuell ausgewählte Wert per MsgBox angezeigt.
Dann müsstest du also ComboBox1.Text und nicht ComboBox1.Value verwenden.
Hilfts?
(wenn nicht, zeig bitte ne Bsp-Datei)
Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige