Я создал форму пользователя в Excel 2016 с двумя списками, используя меню Инструменты.Я дважды щелкнул по ним, чтобы создать подпрограммы, и вставил код, чтобы проверять всякий раз, когда он выбран.
Вот код:
Private sub SaleType_Click ()
If SaleType.Value ="Core" then
'make sale label visible
QTDV.visible =true
' show core option btn
Core.Visible = true
End if
End sub
Когда у меня есть ListBox, созданный из панели инструментов, это работает, нокаждый раз, когда запускается форма, тип продажи ListBox будет иметь значение null, и это проблема, потому что у меня есть проверка, чтобы убедиться, что ListBox не пуст.Код следующий:
If saletype = "" then
Dim msg as string Msg = " please select sale type"
Msgbox msg, and vbcritical
End if
Если ListBox представляет значение null
, он не увидит его пустым и пропустит проверку, если я попытаюсь saletype = null
, он все равно пропустит его.
Я искали кажется, что создание списков на панели инструментов странно, потому что Excel не знает, что это за контроль.Я выбрал создание списков в VBA.
Private sub userform_initialize()
Dim saletype as msforms.Listbox
Set saletype = me.Controls.Add("Forms.ListBox.1", "SaleType")
Но при запуске формы и выборе любого параметра в ListBox сабвуфер SaleType_Click
не срабатывает.