Excel ComboBox / formcontrol源单元格地址

时间:2014-07-03 10:03:54

标签: excel vba combobox cell

我通过VBA从选定的单元格创建一个ComboBox下拉列表。如何通过VBA获取所选列表项(列表项源单元)的地址(示例A1)?

1 个答案:

答案 0 :(得分:0)

这就是......这是一件晦涩难懂的事情。此处的ListFillRange属性适用于OLEObject

中嵌入的Shape("Drop Down 1")
Sub FillComboRange()

    Dim Cb As Object
    Set Cb = ActiveSheet.Shapes("Drop Down 1").OLEFormat.Object
    Cb.ListFillRange = "D16:N30"
    Set Cb = Nothing
End Sub

如果您需要范围字符串,只需执行:

Sub GetComboRange()

    Dim Cb As Object, Str as String
    Set Cb = ActiveSheet.Shapes("Drop Down 1").OLEFormat.Object
    Str = Cb.ListFillRange

    MsgBox(Str)

    Set Cb = Nothing
End Sub

特别是对于选定的单元格,地址可以由Cb.LinkedCell给出,着色选项由Cb.Display3DShading

给出