用户窗体运行时错误 380- 无法设置行源 属性 - 修复了吗?
Userform runtime error 380- could not set the rowsource property - fix?
代码在过去的一年里一直运行良好。进行了一些编辑并扩展了一些数据 - 确保当时所有数据都正确排列。我开始使用它,但现在我收到以下错误
runtime error 380: could not set the rowsource property"
我已将范围缩小到 .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
您不能将这些的 rowSource 更新为直接值,它们需要范围或其他一些查找。
变化:
With Me.ComboBox4
.RowSource = "VOLNAME2"
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
End With
选择以下选项之一:
选项 - 1 清除列表添加请求的文本并设置索引以显示该值
ComboBox1.Clear
ComboBox1.AddItem ("volname2")
ComboBox1.ListIndex = 0
选项 2 - 清除列表并将文本值设置为请求的值。就个人而言,这是一个糟糕的选择,因为如果你想 re-use 它,你必须用 .Text = "" 强行清除文本值。
ComboBox1.Clear
ComboBox1.Text = "volname2"
代码在过去的一年里一直运行良好。进行了一些编辑并扩展了一些数据 - 确保当时所有数据都正确排列。我开始使用它,但现在我收到以下错误
runtime error 380: could not set the rowsource property"
我已将范围缩小到 .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
您不能将这些的 rowSource 更新为直接值,它们需要范围或其他一些查找。 变化:
With Me.ComboBox4
.RowSource = "VOLNAME2"
.MatchEntry = fmMatchEntryComplete
.Style = fmStyleDropDownList
End With
选择以下选项之一:
选项 - 1 清除列表添加请求的文本并设置索引以显示该值
ComboBox1.Clear
ComboBox1.AddItem ("volname2")
ComboBox1.ListIndex = 0
选项 2 - 清除列表并将文本值设置为请求的值。就个人而言,这是一个糟糕的选择,因为如果你想 re-use 它,你必须用 .Text = "" 强行清除文本值。
ComboBox1.Clear
ComboBox1.Text = "volname2"