2015-06-12 3 views
0

Я новичок в VBA, поэтому извиняюсь за элементарный вопрос. Я искал все, чтобы найти помощь, и попробовал несколько разных вариантов кода, но ни один из них, похоже, не работает для меня.
Я видел этот пост, но это было первое, что я попробовал: ComboBox, добавил элементы не отображаются в списке при выполнении кода Я сейчас пытаюсь этот код:Список предметов, которые не отображаются

Private Sub UserForm1_Activate() 
    Dim cName As Range 
    Dim ws As Worksheet 
    Set ws = Worksheets("PlayerListing") 
    For Each cName In ws.Range("Player_Name") 
    With Me.PlayerNameCombo 
    .AddItem cName.Value 
    End With 
    Next cName 

Я хочу выпадающий тянуть в данных с отдельной вкладки (PlayerListing), в Range (Player_Name). Я попытался начать все, удаляя все, но это, похоже, не работает. Любая помощь будет принята с благодарностью!

ответ

0

Это сработало для меня, как написано. Вы изменили имя своей пользовательской формы? Если вы настроили событие «Активировать», когда оно было вызвано Userform1, вы измените имя на ufPlayerNames, процедура события не будет должным образом отформатирована и не будет распознана как событие. Поместите точку останова где-нибудь в процедуре - если она остановится при разрыве, все в порядке. Если нет, выберите «UserForm» в выпадающем меню слева вверху панели кода, выберите «Активировать» в правом выпадающем меню и вырежьте и вставьте код в новый заглушка.

Возможно, Player_Name не указывает на диапазон, который вы так считаете. В окне «Немедленное» введите

?Sheets("PlayerListing").Range("Player_Name").Address 

и убедитесь, что это правильно. Если, например, у вас была пустая строка в верхней части Player_Name, может показаться, что она не заполняет поле со списком, но на самом деле оно заполняет множество пустых строк.

+0

Большое вам спасибо! Он работает сейчас. Это вопрос Userform1 vs. Userform. Кроме того, спасибо за информацию о диапазоне. Это было очень полезно, я буду использовать это часто! Еще раз спасибо. – JBarker

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