代码在过去一年中一直运行良好。进行了一些编辑并扩展了一些数据-确保当时所有数据都正确排列。我开始使用它,但是现在出现以下错误
运行时错误380:无法设置rowsource属性”
我将其范围缩小到.RowSource = "VOLNAME2"
,但是我没有更改此数据。
按按钮启动此用户窗体时,最初会出现错误,因此调试在newlog.show
(独立模块)上开始。但是,我使用F8突出显示了上面的错误行。
我尝试重新定义名称管理器并重命名。删除并重新输入。我看了其他一些答案,但看不到任何能脱颖而出的答案。
Sub UserForm_Initialize()
Dim R As Range
Me.TextBox2.Locked = True
Me.TextBox3.Locked = True
Me.CommandButton1.Enabled = False
With Me.ComboBox4
.RowSource = "VOLNAME2"
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
End With
With Me.ComboBox1
.RowSource = ""
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
For Each R In Range("'Database'!F4:F23")
.AddItem R.Text
Next
End With
With Me.ComboBox3
.RowSource = ""
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
For Each R In Range("'Database'!F26:F51")
.AddItem R.Text
Next
End With
With Me.ComboBox2
.RowSource = ""
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
For Each R In Range("'Database'!H3:H32")
.AddItem R.Text
Next
End With
End Sub
我希望定义的名称“ volname2”填充组合框4
答案 0 :(得分:0)
您不能将这些的rowSource更新为直接值,它们需要范围或其他查找。 更改:
With Me.ComboBox4
.RowSource = "VOLNAME2"
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
End With
使用以下选项之一:
选项-1清除列表以添加请求的文本并设置索引以显示该值
ComboBox1.Clear
ComboBox1.AddItem ("volname2")
ComboBox1.ListIndex = 0
选项2-清除列表并将文本值设置为请求的值。就个人而言,这是一个错误的选择,因为如果要重新使用它,则必须使用.Text =“”强制清除文本值。
ComboBox1.Clear
ComboBox1.Text = "volname2"