如果表列中没有数据,则显示消息框的代码

我有2个combobox的用户窗体。

这两个combobox都从表单中的表中填充。

这是我的代码。

Private Sub UserForm_Initialize() Dim ws As Worksheet, tbl As ListObject, rng As Range Set ws = Sheets("Summary of Accounts") Set tbl = ws.ListObjects("groupheads") Set rng = tbl.ListColumns(3).DataBodyRange Me.cmb1.Clear Me.cmb2.Clear With cmb1 .AddItem "Debit" .AddItem "Credit" End With "If rng = vbNullString Then" MsgBox ("Please create the Group Head Account First") Exit Sub End If End Sub 

引用的行发生错误,因为对象variables未定义。 我想要的是,如果表格中没有数据,msg框应该出现在上面的代码中。

如果一个ListObject表在.DataBodyRange属性的第一行没有数据,那么设置一个范围typesvariables就会导致Nothing。

 If rng Is Nothing Then MsgBox ("Please create the Group Head Account First") Exit Sub End If 

是的,它看起来有一个空行,但.DataBodyRange实际上是没有,直到它在一个单元格中至less有一个值。