如果在组合框中没有要加载的内容,则隐藏/取消隐藏用户窗体的代码

时间:2016-03-19 17:49:57

标签: excel excel-vba vba

我有一个名为&#34的用户表单; deleteaccount"有一个组合框。按下按钮后,用户窗体将从该范围加载列表。如果范围内没有数据,则应该出现错误"没有任何内容可以加载"并退出子。 到目前为止,我已经开发了以下代码,但无法找到所需的结果。

Private Sub CommandButton5_Click()

'ASSIGNING THE VARIABLES
Dim ws As Worksheet, tbl As ListObject, 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

For Each rng In rng
deleteaccount.ComboBox1.AddItem rng.Value
deleteaccount.ComboBox1.ListIndex = 0
Next

If deleteaccount.ComboBox1.ListCount = 0 Then
MsgBox "nothing is load"
Exit Sub
Else
deleteaccount.Show
End If
End Sub 

请回顾并帮助我在哪里出错。

感谢。

1 个答案:

答案 0 :(得分:0)

评论需要切换位置(与您的问题无关)。而不是For Each rng In rng你想要翻阅rng中的单元格并添加到组合框中吗?我的意思是:你正在使用 For Each rng In rng 这是错误的,因为你每次都使用不同目的的rng两次。如果您知道工作表上的范围是一列,则可以尝试

For i = 1 to rng.Rows.count
    deleteaccount.ComboBox1.AddItem rng.Cells(i, 1).Value
Next i
deleteaccount.ComboBox1.ListIndex = 0