我有一个包含2个组合框的用户表单。
两个组合框都填写在表格中的表格中。
这是我的代码。
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
错误发生在引用行,因为未定义对象变量。我想要的是如果表格列中没有数据,那么应该出现我在上面的代码中显示的msg框。
答案 0 :(得分:2)
如果ListObject表在.DataBodyRange property的第一行中没有数据,那么将范围类型变量设置为它将导致Nothing。
If rng Is Nothing Then
MsgBox ("Please create the Group Head Account First")
Exit Sub
End If
是的,看起来那里有一个空行,但.DataBodyRange实际上没有任何内容,直到它在其中一个单元格中获得至少一个值。