gpt4 book ai didi

excel - 为什么 IsNull()、IsEmpty()、Application.WorksheetFunction.Istext() 不适用于组合框?

转载 作者:行者123 更新时间:2023-12-02 22:08:48 26 4
gpt4 key购买 nike

我尝试了下面的几种变体,即使我没有在组合框中选择或键入任何内容,MsgBox 也永远不会运行。

变体1:

Private Sub CommandButton1_Click()

If IsNull(cmbPaidTo.Text) = True Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

变体2:

Private Sub CommandButton1_Click()

If IsNull(cmbPaidTo) = True Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

变体3:

Private Sub CommandButton1_Click()

If IsEmpty(cmbPaidTo.Text) = True Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

变体4:

Private Sub CommandButton1_Click()

If IsEmpty(cmbPaidTo) = True Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

变化5:

Private Sub CommandButton1_Click()

If Application.WorksheetFunction.IsText(cbxPaidTo.Text) = False Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

变体6:

Private Sub CommandButton1_Click()

If Application.WorksheetFunction.IsText(cbxPaidTo) = False Then
MsgBox "Payee cannot be empty."
End If

Unload Me
UserForm1.Show

End Sub

提交表单时,组合框不应该为空,但我不明白为什么我无法让它工作。

这就是我的用户表单的样子: UserForm

我指向的组合框是没有文本标签的组合框。

最佳答案

  • IsNull() 只能用于 Access 查询。输入框的值不能为Null

  • IsEmpty() - 返回一个 bool 值,指示变量是否已初始化。主要用于Excel中的区域和单元格。 MSDNcbxPaidTo.Text 不能为空,因为它是一个已初始化的对象。

  • .IsText() - 这里的情况有点不同。即使空字符串 "" 仍然被视为文本。每当您的表单中没有任何内容时,它都会返回一个空字符串。检查一下:

<小时/>
Sub TestMe()
Debug.Print WorksheetFunction.IsText("")
End Sub
<小时/>

一个可能的解决方案是检查输入 (as mentioned here) 的大小,修剪后。像这样:

If Trim(Len(cmbPaidTo) Then

关于excel - 为什么 IsNull()、IsEmpty()、Application.WorksheetFunction.Istext() 不适用于组合框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com