Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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 zur Laufzeit per VBA ansprechen

ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:26:05
Ulf
Hallo Profis,
ich probiere und suche schon einige Zeit, werde aber nicht fündig.
Aber diese Seite ist immer eine gute Adresse.
In einem UserForm platziere ich während der Laufzeit eine Reihe unterschiedlicher Objekte.
UserForm1.Controls.Add("Forms.CommandButton.1", "cmdbutton" & nr, True)
UserForm1.Controls.Add("Forms.ComboBox.1", "Combobox_Eta_" & nr, True)
Über ein Klassenmodul reagieren diese auf Aktionen. Der Buttonklick führt etwas aus, nur die
ComboBox ist störrisch. Die einzige Aktion die ich bei ihr erreicht habe ist, wenn ich aus der
Auswalhlliste etwas wähle. Da kommt das Click-Ereignis. Sie reagiert nicht auf AfterUpdate oder anderes.
Gruß und Dank im Voraus
Ulf

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:32:31
EtoPHG
Hallo,
Das dürfte wohl am Code des Klassenmoduls liegen. Nur sehen wir leider keinen solchen...
Gruess Hansueli
AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:43:05
Ulf
Hallo EtoPHG,
so sieht er aus, und geht ja auch teilweise.
Datei-Upload geht leider nicht.
Option Explicit
Public WithEvents DieCmds As MSForms.CommandButton
Public WithEvents Box As MSForms.ComboBox
Private Sub Box_Click()
MsgBox "qqq"
End Sub

Private Sub Box_AfterUpdate()
MsgBox "afterUp qqq"
Boxitem.BackColor = vbGreen
End Sub

AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:48:54
Ulf
und hier noch was aus dem UF
Dim obj_Combobox(1000) As New cls_Etage
Private Sub CommandButton1_Click()
Dim objcmdtemp As MSForms.CommandButton
Dim objcomboboxtemp As MSForms.ComboBox
Set objcmdtemp = UserForm1.Controls.Add("Forms.CommandButton.1", "cmdbutton" & 1, True)
With objcmdtemp
.Left = 106
.Top = 206
.Width = 195
.Height = 24
.Caption = "wew"
End With
Set obj_Nachf_cmd(1).DieCmds = objcmdtemp
Set objcomboboxtemp = UserForm1.Controls.Add("Forms.ComboBox.1", "Combobox_Eta_" & 1, True) _
With objcomboboxtemp
objcomboboxtemp.AddItem "www"
.Left = 10 + 200
.Top = 20 + 24
.Width = 195
.Height = 20
.Font.Size = 10
.ForeColor = RGB(30, 80, 80)
'.BackColor = RGB(250, 220, 200)
End With
Set obj_Combobox(1).Box = objcomboboxtemp
End Sub

Anzeige
AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:48:34
Daniel
Hi
Ich kenne mich damit ha auch nicht so richtig aus, aber meines Wissens nach kannst du in der Klassenprogrammierung nicht alle Events verwenden, die das normale Objekt hat.
Wenn du so ein Event brauchst, müsste man tricksen.
Bspw eine Textbox1 einfügen und bei klick auf die Textbox diese durch eine normale Combobox austauschen
Nach verlassen der Combobox schreibst du den Wert in die Textbix und blendest die Combobox wieder aus.
Gruß Daniel
AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 08:52:21
Ulf
Danke Daniel,
ich versuche es mal, das Thema soll aber noch offen bleiben.
AW: ComboBox zur Laufzeit per VBA ansprechen
02.08.2018 20:00:14
Mullit
Hallo,
da kann man erstmal nur Daniel bestätigen , folgende Events stehen in einer Automatisierungsklasse nicht zur Verfügung:
  • Enter

  • Exit

  • AfterUpdate

  • BeforeUpdate

  • Falls Du noch weitere Fragen hast, laß ich mal offen...
    Gruß, Mullit
    Anzeige
    AW: ComboBox zur Laufzeit per VBA ansprechen
    02.08.2018 21:06:53
    Ulf
    Hallo Mullit,
    zwischenzeitlich mach ich die Aktivitäten über CommandButton und
    Click-Ereignis, ich weiß nur nicht wie ich da Parameter vernünftig
    mit rüber bekomme. Die Eigenschaften des CommandButton ( Name und Caption)
    auswerten ist umständlich aber geht.
    Was hat man noch für Möglichkeiten?
    Ulf
    AW: ComboBox zur Laufzeit per VBA ansprechen
    02.08.2018 23:26:17
    Mullit
    Hallo Ulf,
    eigentlich ist das genau der Weg, es genügt, wenn Du nur den Namen einer Proc beim Call als Parameter übergibst und machst dann in dieser Aufruf-Proc eine SelectCase-Fallunterscheidung auf den Index des Controls/CommandButtons.
    Das setzt voraus, daß Du die Controls bei Einfügen nicht umbenennnst, dann kannst Du einfach über den Typename und den Index abfragen....
    Gruß, Mullit
    Anzeige
    AW: ComboBox zur Laufzeit per VBA ansprechen
    03.08.2018 07:28:39
    Ulf
    Hallo Mullit,
    vielen Dank und auch Dank an Daniel und EtoPHG.
    Ich habe gerade noch einen Gedanken, man kann ja die Parameter
    die beim Click benötigt werden in Variablen "zwischenlagern".
    Viele Grüße
    Ulf

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige