Я пытаюсь получить значения из 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
и я получаю
error 438: object doesn't support this property or method
Это работает:
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
Я не могу писать в этом поле со списком, только выбрать вариант. Любые способы писать вещи?