Я довольно новичок в Excel VBA, поэтому заранее прошу прощения, если что-то будет расплывчато.
У меня есть код, который вставляет на листе «Обзор спроса» в столбец W определенное количество названий продуктов («Продукт X», «Продукт Y» и т. Д. .... количество продуктов динамически меняется от 1 до 100) всегда начинается в ячейке W2 и всегда пропускает одну ячейку между каждым продуктом (например, продукт X будет в W2, продукт Y в W4 и т. д.)
То, что я хотел бы кодировать в VBA, это создать кнопку управления формой для каждого из названий продуктов и изменить их заголовок на название продуктов в столбце W.
Я мог бы написать код для динамического создания столько кнопок управления формой, сколько названий продуктов в столбце W, однако я изо всех сил пытаюсь присвоить им заголовки, так как я всегда получаю ошибку: «Невозможно получить свойство Buttons объекта Рабочий лист класса "
Логика назначения будет состоять в том, что Кнопка 1 получит название продукта, расположенное в W2, Кнопка 2 получит название продукта, расположенное в W4 и т. Д.
Любая помощь будет принята с благодарностью!
Заранее спасибо!
Sub AddInfo()
Dim butn As Button
Dim rng As Range
Dim trial As Range
Dim i As Integer
Sheets("Demand Overview").Select
Set rng = ActiveSheet.Range("S:S")
For Each trial In ActiveSheet.Range("W:W")
If trial.Value <> "" Then Set butn = ActiveSheet.Buttons.Add(rng.Left,
trial.Top, 150, 26)
Next trial
'the code works until this point
With ActiveSheet
For i = 1 To 100
.Buttons("Button" & i).Caption = Range("W" & 2 * i)
Next i
End With
End Sub