如果在组合框中没有要加载的范围,则限制用户表单加载的代码

时间:2016-03-18 20:05:38

标签: excel excel-vba vba

我开发了一个带有一个组合框的小型用户表单。在加载用户表单时,该组合框填充了工作表中的范围。我需要的是,如果在组合框中没有加载值,它应该显示错误“没有任何东西可以加载”。此用户表单通过一个小按钮加载。

以下是我的用户表单初始化代码:

Private Sub UserForm_Activate()
'LOAD THE LIST OF ACCOUNTS

'ASSIGNING THE VARIABLES
Dim ws As Worksheet
Dim tbl As ListObject
Dim rng As Range

'Declaring the Variables
Set ws = Sheets("Cash and Bank Account Details")
Set tbl = ws.ListObjects("newaccount")
Set rng = tbl.ListColumns(3).DataBodyRange

'Adding the Items in Combo Box
For Each rng In rng
ComboBox1.AddItem rng.Value
Next
ComboBox1.ListIndex = 0
End Sub

请审核并帮助我查询。

感谢。

1 个答案:

答案 0 :(得分:2)

我猜你正在寻找这样的东西:

If UserForm1.ComboBox1.ListCount = 0 Then
    MsgBox "Nothing is there to load"
Else
    UserForm1.Show
End If

在向用户显示表单之前,您可以检查ComboBox1中是否有值得显示的内容。

或者,您甚至可以在初始化表单之前进行检查:

If Application.WorksheetFunction.CountA(Sheets("Cash and Bank Account Details").Listobjects("newaccount").ListColumns(3).DataBodyRange) = 0 Then
    MsgBox "Nothing is there to load"
Else
    'Initialize and fill the form
    UserForm1.Show
End If