2014-07-03 4 views

ответ

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

+0

Я считаю, что у меня уже есть диапазон выбора элементов списка. Мне не нужно объявлять об этом. Мне нужно вернуть адрес выбранному элементу. Адрес ячейки, в котором этот элемент был внесен в список. – user2637112

+0

да, тогда просто объявите некоторую строку и получите 'Str = Cb.ListFillRange' – hnk

+0

Чтобы решить эту проблему, не так ли? – hnk

Смежные вопросы