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

ComboBox per Option füllen

ComboBox per Option füllen
Sieben
Hallo Zusammen,
habe mir hier aus dem Forum den Code

Private Sub OptNewsprint_Click()
Me.ComboBox1.RowSource = "A1:A6"
Me.ComboBox1.ListIndex = 0
Me.Label1.Caption = Me.ComboBox1.Value
End Sub

kopiert und beim Test erhalte ich die Fehlermeldung:
Laufzeitfehler "438"
Objekt unterstüzt diese Eigenschaft oder Methode nicht
Kann mir jemand sagen, was ich falsch mache?!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ComboBox per Option füllen
21.08.2009 15:30:54
Luschi
Hallo Sieben,
wenn die Combobox sich im Tabellenblatt befindet, dann so: Me.ComboBox1.ListFillRange = "Tabelle1!A1:A6"
in der Userform so: Me.ComboBox1.RowSource = "Tabelle1!A1:A6"
Gruß von Luschi
aus kjlein-Paris
AW: ComboBox per Option füllen
21.08.2009 15:31:08
Daniel
Hi
der erste Fehler, den du machst, ist, daß du uns nicht mitteilst, ob sich die Steuerelemente auf einem Tabellenblatt oder in einer Userform befinden.
obwohl die Steuerelemente gleich aussehen, unterscheiden sie sich doch in manchen Punkten.
so heißt die bei der einen die Eigenschaft mit dem verknüpften Zellbereich .RowSource, bei der anderen .ListFillRange.
der 2. Fehler wäre, daß du uns nicht sagst, in welcher Zeile der Fehler auftritt.
der 3. Fehler ist, daß du keine Beispieldatei mit dem Fehler hochlädst, denn in der Beispieldatei lässt sich der Fehler immer am einfachsten finden, da hier alle Faktoren, die zum Fehler führen (muss ja nicht immer am Code liegen), vorhanden sind und nicht erraten werden müssen.
Gruß, Daniel
ps. und 4. wäre es nett, wenn du mit deinem Realnamen unterschreibst, das ist einfach höflicher als so eine grußlose Anfrage und könnte die Bereitschaft zu helfen erhöhen
Anzeige
AW: ComboBox per Option füllen
23.08.2009 17:50:32
Ralf
@ Luschi,
vielen Dank für Deine schnelle Antwort.
Habe es mal ausprobiert und leider bleibt die CB leer.
@ Daniel,
habe die ersten 3 Pkt. durch die hochgeladene Bspl.-Datei korrigiert.
Zum 4.Punkt muss ich mich entschuldigen, da ich im MS-Office-Forum, in dem ich bis jetzt des Öfteren gesucht hatte, automatisch den Vornamen eingerichtet hatte. Leider habe ich es hier vergessen. Also keine Unhöflichkeit o.ä. Aber davon ab, dass z.B. Luschi wirklich Luschi heißt steht doch whl ebenso ausser Frage (hoffe das Luschi sich jetzt nicht auch noch angegriffen fühlt ;-),kleiner Scherz!!).
https://www.herber.de/bbs/user/64007.xls
Aber nun nochmal zur hochgeladenen Datei. Besteht die Möglichkeit, die ComboBox mit einem Bereich, hier z.B. A4:B14 zu füllen, das beim Aufklappen der Box der erläuternde Text mit angezeigt, nach der Auswahl jedoch der Wert aus der A-Spalte eingetragen wird.
Vielen Dank schon mal im Voraus für Eure Mühe.
Ralf
Anzeige
AW: ComboBox per Option füllen
23.08.2009 18:50:05
Daniel
Hi
erstmal ein paar korrekturen:
- du hast dich bei beinen Bezeichnungen vertippt: OptOhters und OptOthers
- bevor du mit VBA weitermachst, solltest du dashier lesen und verstehen: http://www.online-excel.de/excel/singsel_vba.php?f=4
- das Click-Event sollte man vermeiden, weil es zu allen möglichen und unmöglichen Aktionen startet.
zum Füllen der Combobox wäre das "GotFocus"-Event oder das "DropButtonClick"-Event besser geeignet.
das erste Startet, wenn du die Combobox aktivierst, das 2. wenn du auf den Button zum Öffnen der Auswahl klickst.
Welche Events es gibt, siehst du im VBA-Editor in der rechten Combobox über dem Codefenster, einfach eines auswählen, und den Code in das angelegte Makro verschieben.
zu deiner letzten Frage:
ja diese Möglichkeit besteht, hierzu:
- den Zellbereich entsprechend angeben (Spalte A und B)
- in der Eigenschaft "ColumnCount" die Anzahl der Spalten angeben (2)
- in der Eigenschaft "BoundColumn" festlegen, aus welcher Spalte das Ergebnis genommen werden soll (1)
- in der Eigenschaft "ColumnWidth" festlegen, welche Spalten angezeigt werden sollen und welche nicht. Die Spaltenbreiten werden mit Semikolon getrennt, Spalten die nicht in der Comobox angezeigt werden sollen, erhalten die 0, ("0; 100")
Gruß, Daniel
Anzeige
AW: ComboBox per Option füllen
23.08.2009 18:50:05
Daniel
Hi
erstmal ein paar korrekturen:
- du hast dich bei beinen Bezeichnungen vertippt: OptOhters und OptOthers
- bevor du mit VBA weitermachst, solltest du dashier lesen und verstehen: http://www.online-excel.de/excel/singsel_vba.php?f=4
- das Click-Event sollte man vermeiden, weil es zu allen möglichen und unmöglichen Aktionen startet.
zum Füllen der Combobox wäre das "GotFocus"-Event oder das "DropButtonClick"-Event besser geeignet.
das erste Startet, wenn du die Combobox aktivierst, das 2. wenn du auf den Button zum Öffnen der Auswahl klickst.
Welche Events es gibt, siehst du im VBA-Editor in der rechten Combobox über dem Codefenster, einfach eines auswählen, und den Code in das angelegte Makro verschieben.
zu deiner letzten Frage:
ja diese Möglichkeit besteht, hierzu:
- den Zellbereich entsprechend angeben (Spalte A und B)
- in der Eigenschaft "ColumnCount" die Anzahl der Spalten angeben (2)
- in der Eigenschaft "BoundColumn" festlegen, aus welcher Spalte das Ergebnis genommen werden soll (1)
- in der Eigenschaft "ColumnWidth" festlegen, welche Spalten angezeigt werden sollen und welche nicht. Die Spaltenbreiten werden mit Semikolon getrennt, Spalten die nicht in der Comobox angezeigt werden sollen, erhalten die 0, ("0; 100")
Gruß, Daniel
Anzeige
AW: ComboBox per Option füllen
24.08.2009 08:47:29
Sieben
Hallo Daniel,
habe jetzt den Code mal nach Deinen Anmerkungen umgesetzt. Die Anzeige und Auswahl funktioniert aus.
Zwei Fragen beschäftigen mich jedoch noch.
Der Code sieht zur Zeit folgendermaßen aus:
Option Explicit
Private Sub ComboBox1_DropButtonClick()
If Me.OptNewsprint.Value Then
Me.ComboBox1.ListFillRange = "Grades!A4:B14"
Me.ComboBox1.ListIndex = 0
Me.Label1.Caption = Me.ComboBox1.Value
End If
If Me.OptPackaging.Value Then
Me.ComboBox1.ListFillRange = "Grades!A18:B75"
Me.ComboBox1.ListIndex = 0
Me.Label1.Caption = Me.ComboBox1.Value
End If
If Me.OptOthers.Value Then
Me.ComboBox1.ListFillRange = "Grades!A79:B117"
Me.ComboBox1.ListIndex = 0
Me.Label1.Caption = Me.ComboBox1.Value
End If
End Sub
1. Nach der Auswahl in der ComoBox bleibt der erste Wert nach wie vor stehen und ändert sich nicht aufgrund der Auswahl
2. Ist es möglich, im Label1 die Bezeichnung des ausgewählten Optionfeldes anzuzeigen.
Gruß
Ralf
Anzeige
AW: ComboBox per Option füllen
25.08.2009 00:14:33
Daniel
Hi
zu 1 kann ich jetzt so direkt nichts sagen
zu 2:
das Schreiben der Auswahl in das Label muss natürlich in ein anderes Event.
das könnte z.B. in das CLICK-Event oder in das "Lost-Focus"-Event.
gruß, Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige