2012-08-09 138 views
0

我现在只用VBA工作了大约两周,所以如果我用错误的名称调用事件,对不起。无论如何,我一直在用组合框遇到麻烦。箱子里装满了物品,我可以看到它们,滚动它们并点击它们。然而,当我按一下按钮我有检查组合框的值,不管什么项目我在它选择的价值永远是为null,由VBA - Combobox值始终为空

If IsNull(ToolReportBox.Value) = True Then 
    MsgBox "Please Enter a tool" 
    Exit Sub 
End If 

抓到如果我不去有这样的检查在那里,并试图将值分配给一个刺痛如

Dim toolName_str As String 
    toolName_str = ToolReportBox.Value 

的程序后,它引发错误“运行时错误‘94’:无效的使用Null”

人除了让它成为一个列表框之外还有其他建议吗 在此先感谢。

回答

2

您需要确保在Data选项卡中为包含数据的列设置了Bound Column属性。例如,如果将它设置为1,它将查看RowSource并从列出的第一列中获取值。确保列中有数据。

+0

我有6个是没有必要的其他组合框,但这正是问题。感谢您的快速回复,它完美运作 – 2012-08-09 18:56:12

0

检查组合框中的值 - forms!frmName!ToolReportBox.column(0)(然后增加到1,2,3组合框中的许多列) - 这是为了防止您看到的实际上不是返回的值。

这通常发生在组合框中性能ListWidth具有零有