Frage

Wie kann ich eine Kombination Taste / Drop-Down in Büro hinzufügen (siehe unten). Vorzugsweise mit Code.

alt text

Update:. Wenn es irgendwelche hilft, wird Code nicht erforderlich

War es hilfreich?

Lösung

Sie können es tun, basierend auf dem folgenden ActiveX-Steuerelemente:

  • Microsoft Imagelist Control, Version 6
  • Microsoft ImageComboBox Control Version 6

Manuell Sie „Weitere Steuerelemente ...“ wählen Sie aus der [Control Toolbox] Menüleiste und doppelklicken Sie auf die genannten Kontrollen sie auf Ihrem Blatt zu bekommen. Positionieren Sie die ComboBox, wo Sie es haben wollen, und ignorieren die Position des Abbildungsliste, ist es sichtbar nur im Entwurfsmodus. Inzwischen haben Sie zwei eingebettete CONTROS Namen

  • ImageList1
  • ImageCombo1

Das Einsetzen der beiden Komponenten erzeugt auch einen Verweis auf ... \ system32 \ MSCOMCTL32.OCX.

Dann Sie

  1. manuell Symbole hinzufügen (GIF, BMP, etc.) auf die Bilderliste
  2. manuell die Combo Abbildungsliste-Eigenschaft auf "ImageList1" gesetzt
  3. manuell die Combo AutoLoad- Eigenschaft auf True gesetzt

Mit dem jetzt haben Sie eine Combo mit dem Fehler, aber keine Symbole.

Dann führen Sie diesen Code

Sub FillCombo()
Dim SH As Worksheet, OO As OLEObjects, Idx As Integer

    Set SH = ActiveSheet
    Set OO = SH.OLEObjects


    With OO("ImageCombo1").Object
        .ComboItems.Clear
        For Idx = 1 To OO("ImageList1").Object.ListImages.Count
            .ComboItems.Add , , , Idx
        Next Idx
    End With

End Sub

Ich habe hart versucht, die Objekte, die von VBA zu erstellen, aber die Imagecombo scheint anders zu verhalten, wenn sie erstellt wie

Set SH = ActiveSheet
Set OO = SH.OLEObjects
OO.Add "MSComctlLib.ImageComboCtl.2"
' .... etc ....

Die Combo erstellt wird, aber der Dropdown-Pfeil wird nicht angezeigt, egal, was ich tue, allthough Debugger zeigt, dass alle Elemente Listview sind ordentlich befestigt. Viele Kollegen scheinen Probleme mit dem ActiveX zu haben, es gibt Lasten der Buchung im Netz.

Weiterführende Literatur hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top