2016-01-08 3 views
1

Я искал способ, чтобы показать поле со списком определенного события, здесь клик, но не смог найти егоVBA: Показать ListBox по щелчку

If MsgBox("Souhaitez vous reprendre un bordereau déjà édité?", vbYesNo, "Edition Bordereau") = vbYes Then 
PreCheckPlot 
Else 
rest of commands 

И подлодку, где я хочу, чтобы показать ListBox

Sub PreCheckPlot() 
ListBox2.Visible = True 
End Sub 

Это не работает, и ListBox2.Show не либо, он выдает ошибку.

Возможно ли показать список на клик, и если да, то как бы я его написал?

Заранее спасибо.

ответ

1

Необходимо также обратиться к Листу.

Так что, если ваш ListBox2 в Лист1, то вам нужно использовать:

Sheet1.ListBox2.Visible = True 
+0

Да, вот что я сделал. Благодарю. –

1

Входит ли он в PreCheckPlot, когда вы проходите? Какая ошибка?

Если вы создаете пользовательскую форму, поместите на нее список и кнопку, которая при нажатии показывает ваше сообщение, тогда ваш код работает нормально.

Интересно, если вы пытаетесь установить ListBox2.Visible из вне формы (где он не будет знать, что форма)

Это предполагает, что это ListBox ActiveX - или это формы ListBox?

+0

Да, это пройти через PreCheckPlot, но ничего не делает. ошибка с методом .show - ошибка 424: требуемый объект. это список ActiveX –

+0

, так это активный список x на листе Excel? Какое рабочее событие вы пытаетесь использовать для его запуска? –

+0

Да, список ActiveX на листе excel, то же самое, когда кнопка запускает событие. Все это на одном листе. Нужно ли указывать ws в sub? –

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