VBA中Null的问题

时间:2016-08-01 20:27:19

标签: vba excel-vba excel

我希望代码在MsgBox中的ListBox1中显示选择,并且"选择容量"如果ListBox1为空/未选中​​。
如果我尝试使用IsEmpty(),则ListBox1.ValueNull 如果我使用IsNull(),则ListBox1.Value""

Private Sub CommandButton3_Click()
    Dim Cap As Integer

    If IsNull(ListBox1) = True Then
        MsgBox "Select a Capacity"
        Exit Sub
    End If

    Cap = Left(ListBox1.Value, 2)
    MsgBox Cap    
End Sub

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:1)

你可以尝试:

If ListBox1.ItemsSelected.Count = 0 Then
    MsgBox "Select a capacity"
    Exit Sub
End If

Cap = Left(ListBox1.Value, 2)

答案 1 :(得分:0)

IsEmpty function用于检查是否已初始化Variant类型的变量。它不能用于检查ListBox是否包含任何条目。

IsNull function检查变量是否已设置为Null。这对于检查ListBox中的条目没有帮助。

相反,使用(add-hook 'cider-repl-mode-hook (lambda () (make-local-variable 'company-active-map) (setq company-active-map (copy-tree company-active-map)) (define-key company-active-map (kbd "M-p") nil) (define-key company-active-map (kbd "M-n") nil))) 检查ListBox是否为空,并使用If ListBox1.ListCount = 0 Then检查是否已选择任何条目。

如果ListBox允许一次多次选择,那么,如@ shoegazer100所述,使用类似的东西:

If ListBox1.ListIndex = -1 Then

确定当前选择的行(如果Selected为特定行返回True,则选择ListBox中的相应行)