我是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
我希望Combobox从(PlayerListing),
中的单独标签Range (Player_Name).
中提取数据
我尝试重新开始,删除所有内容,但这似乎也无效。
任何帮助将不胜感激!
答案 0 :(得分:0)
这对我来说是有用的。您是否更改了用户表单的名称?如果在调用Userform1时设置Activate事件,则将名称更改为ufPlayerNames,事件过程将无法正确格式化,也不会被识别为事件。在程序中的某处放置一个断点 - 如果它在休息时间停止,那就没关系。如果没有,请从代码窗格顶部的左下拉列表中选择UserForm,从右下拉列表中选择Activate,然后将代码剪切并粘贴到新存根中。
也许Player_Name没有指向您认为的范围。在立即窗口中,键入
?Sheets("PlayerListing").Range("Player_Name").Address
并确保它是正确的。例如,如果你在Player_Name的顶部有一堆空行,它可能看起来没有填充组合框,但它确实填充了很多空行。