Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

oleobject

oleobject
23.05.2008 18:03:42
ralf
hallo forum
habe mit diesen code ein combobox.oleobject erstellt. nun habe ich das problem
das ich nicht wie bei einer uf.combobox einfach über select case die ausgewählte
eingabe zum beispiel "einkommen" auswählen kann und zb ufeinkommen.show
aufrufen kann.

Sub NewCboBox()
Dim cbo As OLEObject
Set cbo = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=40, _
Top:=40, _
Width:=170, _
Height:=20)
With cbo.Object
.AddItem "Einkommen"
.AddItem "Fixkosten"
.AddItem "Auto"
cbo.Object.BoundColumn = 0
End With
End Sub


gruss ralf

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: oleobject
23.05.2008 19:06:19
Daniel
Hi
wenn du die Combobox zur Laufzeit erstellst, dann musst du natürlich auch ihren Code, der z.B. bei Combobox_Change abläuft zur Laufzeit erstellen.
aber weiß nicht, ob du dir den Stress antun willst.
Erstelle doch einfach die Combobox ganz normal, gleich mit allen Daten und dem Code dazu, da hast ud es wesentlich einfacher, auch wenn du diese Combobox dann im Code vewenden willst.
Wenn es das Problem ist, daß die Combobox erst zu einem späteren Zeitpunkt sichtbar werden soll, dann kannst du das über die Eigenschaft Combobox1.Visible = TRUE/FALSE sehr einfach steuerern.
das Erstellen zu Laufzeit ist in den meisten Fällen nicht erforderlich.
Gruß, Daniel

Anzeige
AW: oleobject
23.05.2008 19:06:41
Lars
Hi,
wieso muss die Box zur Laufzeit erstellt werden? Um die zum "Leben" zu erwecken ist nun ein Klassenmodul erforderlich.
mfg Lars

AW: oleobject
23.05.2008 22:01:11
ralf
hallo lars ,daniel,forum
habe auf mein tabellenblatt die combobox erstellt und wollte es nicht in einer uf einbinden.
habe es nicht geschafft in die cbo mit den "additem" zu füllen also habe ich hier im forum
nachgeguckt und die lösung so gefunden wie ich sie jetzt verwende . habe gedacht das es einfacher
ist das cbo click auszulösen .
gruss ralf

AW: oleobject
23.05.2008 22:49:00
Lars
Hi,
Userform oder Tabelle ist egal, wenn zur Laufzeit erstellt, gehts nur mit Klassenmodul, also
erstell die Box besser zur Entwurfszeit.
mfg Lars

Anzeige
AW: oleobject
23.05.2008 23:04:17
Gerd
Hallo Ralf,
erste Frage: AddItem

Sub NewCboBox()
Dim cbo As OLEObject
Set cbo = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=200, _
Top:=200, _
Width:=170, _
Height:=20)
With ActiveSheet.OLEObjects(cbo.Name).Object
.BoundColumn = 0
.AddItem "Einkommen"
.AddItem "Fixkosten"
.AddItem "Auto"
End With
End Sub


Willst Du auf dem eingeschlagenen Weg weitermachen ?
Gruß Gerd

AW: oleobject
23.05.2008 23:08:00
ralf
hallo lars
obwohl ich nicht weiss was du mit echtzeit meinst habe ich es
so versucht

Sub NewCboBox_Click()
Dim cbo As OLEObject
Set cbo = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1")
Select Case cbo.Object.Value
Case 0
UFEinkommen.Show
Case 1
UFFixKosten.Show
Case 2
UFAuto.Show
End Select
End Sub


hat aber weder fehlermeldung noch zum erfolg geführt
gruss
ralf

Anzeige
AW: oleobject
23.05.2008 23:09:25
ralf
hallo lars
obwohl ich nicht weiss was du mit echtzeit meinst habe ich es
so versucht

Sub NewCboBox_Click()
Dim cbo As OLEObject
Set cbo = ActiveSheet.OLEObjects.Add( _
ClassType:="Forms.ComboBox.1")
Select Case cbo.Object.Value
Case 0
UFEinkommen.Show
Case 1
UFFixKosten.Show
Case 2
UFAuto.Show
End Select
End Sub


hat aber weder fehlermeldung noch zum erfolg geführt
gruss
ralf

AW: oleobject
23.05.2008 23:20:53
Lars
Hi,
wie jetzt, von Echtzeit habe ich nicht geschrieben, Entwurfszeit!
Erstell die Box von Hand, dann erledigen sich die Probleme von selbst.
mfg Lars

Anzeige
AW: oleobject
23.05.2008 23:21:00
Gerd
Hallo Ralf,
nochmal: Combobox jetzt über die Steuerelemente-Toolbox "manuell" eingefügt
oder per Code erzeugt ?
Gruß Gerd

AW: oleobject
23.05.2008 23:36:00
ralf
hallo gerd
habe es erst über steuerelemente-toolbox versucht hat aber nicht so
hingehauen wie ich wollte. habe es über worksheet activieren versucht und
nach jedem ws activieren hatte ich anstatt 3 sondern 6,9,12 eintragungen in cbo.
danach habe ich diesen code hier gefunden und versuche es nun über vba.
gtuss ralf

AW: oleobject
23.05.2008 23:40:00
ralf
hallo gerd
habe es erst über steuerelemente-toolbox versucht hat aber nicht so
hingehauen wie ich wollte. habe es über worksheet activieren versucht und
nach jedem ws activieren hatte ich anstatt 3 sondern 6,9,12 eintragungen in cbo.
danach habe ich diesen code hier gefunden und versuche es nun über vba.
es tut mir leid das diese nachricht wie die andere von mir zweimal angezeigt wird
aber ich vergesse immer wieder frage offen anzuklicken
gtuss ralf

Anzeige
AW: oleobject
23.05.2008 23:49:43
Gerd
Hallo Ralf,
noch ein mal: Die Combobox selbst hast Du per Code erzeugt ?
Gruß Gerd

AW: oleobject
23.05.2008 23:56:35
ralf
hallo gerd
die combobox ist über vba erzeugt worden - der code ist in meinen ersten
beitrag zu lesen
gruss ralf

AW: oleobject
23.05.2008 23:58:00
ralf
hallo forum
tausend mal entschuldigung schon wieder
gruss ralf

AW: oleobject
24.05.2008 00:17:00
Gerd
Hallo Ralf,
nicht im Erstellungscode sondern hinterher:
Entwurfsmodus beenden, anschließend im Eigenschaftenfenster den Namen der Combo anschauen
Bei z.B. "ComboBox2"
folgenden Code ins Modul der Tabelle manuell einfügen:

Private Sub ComboBox2_Change()
Select Case ComboBox2.Value
Case 0
UFEinkommen.Show
Case 1
UFFixkosten.Show
Case 2
UFAuto.Show
End Select
End Sub


Gruß Gerd

Anzeige
AW: oleobject
24.05.2008 07:56:00
Matthias
Hallo zusammen
probier mal ...
https://www.herber.de/bbs/user/52593.xls
Wenn Du das Blatt wechselst wird die Box neu erstellt und Du hast immer nur die 3 Einträge
  • Einkommen

  • Fixkosten

  • Auto

  • Gruß Matthias

    AW: oleobject
    24.05.2008 20:33:38
    ralf
    hallo forum
    tausend dank hat durch eure hilfe geklappt
    gruss
    ralf

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige