用户窗体运行时错误 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"