Получить значение из диапазона с другого листа в список - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь получить значения из column A листа «Листинг», чтобы использовать его в поле со списком на листе «Меню».

Вот код листа меню:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect([4:7], Target) Is Nothing  And Target.Count = 1 Then
     ActiveSheet.DropDowns.Delete
        Set CB = Me.Shapes.AddFormControl(xlDropDown, Left:=Target.Left, 
        Top:=Target.Top, Width:=60, Height:=15)
        With CB
            .name = "CB"
            .OnAction = "CB_Change"
            .List = Worksheets("Listing").Range("A1").Value
        End With

    End If
End Sub

Worksheets("Listing").Range("A1").Value fails и я получаю

ошибка 438: объект не поддерживает это свойствоили метод

1 Ответ

0 голосов
/ 28 мая 2019

Это работает:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim lst

    If Not Intersect([4:7], Target) Is Nothing And Target.Count = 1 Then

        With Worksheets("Listing")
            lst = "'" & .Name & "'!" & _
               .Range(.Range("a1"), _
                      .Cells(.Rows.Count, 1).End(xlUp)).Address()
        End With

        Me.DropDowns.Delete
        With Me.Shapes.AddFormControl(xlDropDown, Left:=Target.Left, _
                                      top:=Target.top, Width:=60, Height:=15)
             .Name = "CB"
            .OnAction = "CB_Change"
            .ControlFormat.ListFillRange = lst
        End With

    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...