Discussion:
DropDown in ExcelSheet
(zu alt für eine Antwort)
Eckart Reuss
2005-10-31 14:57:09 UTC
Permalink
Hallo,
habe in einem Excelsheet ein DropDown-Steuerelement mit dem Inhalt aus einem
anderen Sheet. Wie kann ich den Inhalt meiner Selektion auslesen.

DropDwonxy.value sowie .text oder auch ohen dem erzeugt unter vb jeweils
"Objekt erforderlich".

Gruß, Eckart
Melanie Breden
2005-10-31 15:17:32 UTC
Permalink
Hallo Eckart,
Post by Eckart Reuss
habe in einem Excelsheet ein DropDown-Steuerelement mit dem Inhalt aus einem
anderen Sheet. Wie kann ich den Inhalt meiner Selektion auslesen.
DropDwonxy.value sowie .text oder auch ohen dem erzeugt unter vb jeweils
"Objekt erforderlich".
du musst das Worksheet-Objekt voranstellen:

Variable = Worksheets("Tabelle1").DropDwonxy.Text


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Eckart Reuss
2005-10-31 16:15:05 UTC
Permalink
Hallo Melanie,

danke für die Antwort. Leider funktioniert das nicht.
Post by Melanie Breden
Variable = Worksheets("Tabelle1").DropDwonxy.Text
darauf bekomme ich die sehr unsportlich Antwort

"Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht. "

Es handelt sich bei dem DropDown übrigens um das
Kobinationsfeldsteuerelement aus der Symboleiste/Toolbox "Formular", aber
innerhalb des Excelblattes.

Gruß, Eckart
Melanie Breden
2005-10-31 16:36:43 UTC
Permalink
Hallo Eckart,
Post by Eckart Reuss
Es handelt sich bei dem DropDown übrigens um das
Kobinationsfeldsteuerelement aus der Symboleiste/Toolbox "Formular", aber
innerhalb des Excelblattes.
dann wechsel zu dem Kombinationsfeld aus der Steuerelement-Toolbox,
dazu gehört meine obige Syntax.
Diese sind einfacher zu handeln und man kann zudem die Eigenschaften
individueller gestalten.


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Eckart Reuss
2005-10-31 17:20:56 UTC
Permalink
Hallo Melanie

noch einmal Danke, leider immer noch Laufzeitfehler 438, wie vorher.
Was kann ich falsch gemacht haben?
Post by Melanie Breden
dann wechsel zu dem Kombinationsfeld aus der Steuerelement-Toolbox,
dazu gehört meine obige Syntax.
Diese sind einfacher zu handeln und man kann zudem die Eigenschaften
individueller gestalten.
Gruß, Eckart
Melanie Breden
2005-10-31 17:46:01 UTC
Permalink
Hallo Eckart,
Post by Eckart Reuss
noch einmal Danke, leider immer noch Laufzeitfehler 438, wie vorher.
Was kann ich falsch gemacht haben?
hast du den richtigen Blattnamen und den richtigen Namen des
Kombinationsfeldes?

z.B:
Worksheets("Tabelle1").ComboBox1.Text

ansonsten poste mal den nicht funktionierenden Code.


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Eckart Reuss
2005-11-01 17:32:07 UTC
Permalink
Hallo Melanie,

jetzt klappt es, danke.
Post by Melanie Breden
ansonsten poste mal den nicht funktionierenden Code.
hatte es so versiucht:

Dim sSheet As Worksheet
Set sSheet = ActiveSheet


MsgBox sSheet.ComboBox1.Text

gibt aber einen Fehler. Weiß zwar nicht warum, aber die voll qualifizierte
Anredeart hat es ja gebracht.

Gruß, Eckart
unknown
2005-10-31 15:24:49 UTC
Permalink
Hallo Eckart,
benutze dazu die LinkedCell-Eigenschaft. gehe dazu in den
Entwurfsmodus, Rechtsklick auf das Steuerelement, LinkedCell: A1
(oder die von dir gewünschte Adresse).

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Website: http://www.xl-faq.de
# Auftragsprojekte#
Eckart Reuss
2005-10-31 16:23:02 UTC
Permalink
Hallo Frank,

danke für die Antwort, ich havbe dabei ein Problem
Post by unknown
benutze dazu die LinkedCell-Eigenschaft. gehe dazu in den
Entwurfsmodus, Rechtsklick auf das Steuerelement, LinkedCell: A1
(oder die von dir gewünschte Adresse).
Excel hat den sehr unschönen Namen "Dropdown279" vergeben (wie ich den
ändern kann, weiß ich übrigens auch nicht). Ich bin eigentlich ein leidlich
geübter Access-Programmierer, kann aber im Lokal-Bereich unter VB nirgends
eine Hinweis auf dieses Element entdecken. deshalb habe ich auch ein Problem,
dies Element zur Laufzeit auszulesen, denn natürlich soll darauhin irgend
eine Aktion erfolgen.

Gruß, Eckart
unknown
2005-10-31 17:14:09 UTC
Permalink
Hallo Eckart,
angenommen im Tabellenblatt Tabelle2 stehen im Bereich A1:A12 die
Monatsnamen Januar bis Dezember, dann erstelle im Tabellenblatt
Tabelle1 ein Kombinationsfeld aus der Steuerelement-Toolbox, führe
einen Rechtsklick auf das Steuerelement und wähle Eigenschaft aus.
Im Eigenschaftenfenster des Steuerelements trägst du für die
Eigenschaft ListFillRange: Tabelle2!A1:A12 und, falls du möchtest, für
die Eigenschaft LinkedCell A1ein. Die ComboBox benennst du bei der
Eiegnschaft Name mit cboMonate. Beende den Entwurfsmodus (das ist die
Schaltfläche mit dem blauen Dreieck, dem Bleistift und dem Lineal).
Jetzt kannst du die Funktion des Kombinationsfeldes bereits testen.
Wird ein Monat ausgewählt, wird der Text in Zelle A1 geschreiben.
Soll aufgrund der Auswahl ein makro ablaufen, dann gehe wieder in den
Entwurfsmodus (gleiche Schaltfläche wie schon beschrieben),
Rechtsklick auf das Steuerelement und wähle Code anzeigen.
Kopiere den folgenden Beispielcode in dieses Modul:

Private Sub cboMonate_Change()
MsgBox "Sie haben den " & cboMonate.Text & " ausgewählt!"
End Sub

Ich hoffe es hilft dir etwas weiter.

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Website: http://www.xl-faq.de
# Auftragsprojekte#
Eckart Reuss
2005-11-01 17:36:20 UTC
Permalink
Hallo Frank,

hat bestens geklappt, danke!
Post by Melanie Breden
Hallo Eckart,
angenommen im Tabellenblatt Tabelle2 stehen im Bereich A1:A12 die
Monatsnamen Januar bis Dezember, dann erstelle im Tabellenblatt
Tabelle1 ein Kombinationsfeld aus der Steuerelement-Toolbox, führe
einen Rechtsklick auf das Steuerelement und wähle Eigenschaft aus.
Im Eigenschaftenfenster des Steuerelements trägst du für die
Eigenschaft ListFillRange: Tabelle2!A1:A12 und, falls du möchtest, für
die Eigenschaft LinkedCell A1ein. Die ComboBox benennst du bei der
Eiegnschaft Name mit cboMonate. Beende den Entwurfsmodus (das ist die
Schaltfläche mit dem blauen Dreieck, dem Bleistift und dem Lineal).
Jetzt kannst du die Funktion des Kombinationsfeldes bereits testen.
Wird ein Monat ausgewählt, wird der Text in Zelle A1 geschreiben.
Soll aufgrund der Auswahl ein makro ablaufen, dann gehe wieder in den
Entwurfsmodus (gleiche Schaltfläche wie schon beschrieben),
Rechtsklick auf das Steuerelement und wähle Code anzeigen.
Private Sub cboMonate_Change()
MsgBox "Sie haben den " & cboMonate.Text & " ausgewählt!"
End Sub
Gruß, Eckart

Loading...