Dynamisch Checkbox und Combobox erstellen

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Dynamisch Checkbox und Combobox erstellen

    Hallo Leute,

    habe schon sehr viele Informationen aus eurem super Forum gezogen, jedoch komme ich momentan bei meinem Projekt nicht mehr weiter, bzw. es fehlt am Verständnis. Ich hoffe von euch kann mir jemand helfen.

    Ich erstelle mit dem folgenden Code dynamische Checkboxen und Comboboxen:

    Visual Basic-Quellcode

    1. Set cb = Sheet1.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
    2. DisplayAsIcon:=False, Left:=startposleft, Top:=startpostop + offset, width:=100, Height:=18)


    Blöde Frage, aber wie lange Dauert es, bis das Objekt im Arbeitsblatt von Excel erscheint? Natürlich nicht in Sekunden, aber ist das Objekt nicht vorhanden, wenn die Zeile mit OLEObject.Add abgearbeitet ist?
    Warum funktioniert es so:

    Visual Basic-Quellcode

    1. Sub CheckBoxesRefresh(startposleft As Integer, startpostop As Integer, infosheet As String, descriptioncolumn As String, shortnamecolumn As String)
    2. Dim ToRow As Long
    3. Dim LastRow As Long
    4. Dim offset As Integer
    5. Dim cb As OLEObject
    6. offset = 0
    7. LastRow = Sheets(infosheet).Range(descriptioncolumn + "65536").End(xlUp).Row
    8. For ToRow = 2 To LastRow
    9. Set cb = Sheet1.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
    10. DisplayAsIcon:=False, Left:=startposleft, Top:=startpostop + offset, width:=100, Height:=18)
    11. cb.Object.Caption = Sheets(infosheet).Range(descriptioncolumn & ToRow).Value
    12. cb.name = RT_PREFIX & "DynamicCheckbox" & (ToRow - 1)
    13. offset = offset + 18
    14. Next
    15. Application.OnTime Time + TimeSerial(0, 0, 1), "Sheet1.dynCheckboxFunction"
    16. End Sub

    und so nicht:

    Visual Basic-Quellcode

    1. Sheet1.dynCheckboxFunction


    Es kommt dann eine Fehlermeldung dass er das Objekt mit dem oben vergebenen Namen nicht finden kann.
    Ich kann irgendwie nicht glauben, dass Excel so lange braucht.
    Kann mir mal jemand die Abläufe erklären?

    Vielen Dank für eure Antworten
    Grüße Mr.Pfiff