gpt4 book ai didi

excel - 用于检查具有复杂条件的空组合框或文本框的 VBA 函数

转载 作者:行者123 更新时间:2023-12-04 21:02:35 24 4
gpt4 key购买 nike

这是我第一次在这里提问,所以我希望我没有遗漏或忽略任何发布规则。

这是我的问题:我有一个函数可以检查一系列输入框,在本例中是组合框和文本框,以查看用户是否输入了一个值。基本上它会检查 If (TextBox.value & "") = ""如果找到其中任何一个,则返回 False。

我想修改此代码,以便如果我在 Textbox1 和 Combobox1 中有值,或者如果我在 AAX 和 AAY 中有值,它会返回 true。我只需要四个中的两个来进行计算。我尝试用 And 函数替换 Or 函数,但它似乎并没有改变代码的功能。

提前感谢您的帮助!

函数代码:

Function validate() As Boolean

Dim ret As Boolean

If (TextBox1.Value & "") = "" Or (ComboBox1.Value & "") = "" Or (AAX.Value & "") = "" Or (AAY.Value & "") = "" Or (ComboBox2.Value & "") = "" _
Or (ComboBox3.Value & "") = "" Or (RB.Value & "") = "" Or (MFC.Value & "") = "" Or (MCC.Value & "") = "" Or (LB.Value & "") = "" _
Or (TB.Value & "") = "" Or (BB.Value & "") = "" Or (ComboBox4.Value & "") = "" _
Then
ret = False

Else
ret = True

End If

validate = ret

End Function

调用函数的代码:
Private Sub CommandButton1_Click()

If Not validate() Then
MsgBox "Fill all required fields, please"
Cancel = True
End If

End Sub

最佳答案

据我了解,如果任何两个项目具有值,您希望返回 true。

基本上你会想要 If (item1 <> "" And item2 <> "") Or (item3 <>"" And item4 <> "") Then
你可以尝试这样的事情:

If (TextBox1.Value <> "" And ComboBox1.Value <> "") Or _
(AAX.Value <> "" And AAY.Value <> "") Or _
(ComboBox2.Value <> "" And ComboBox3.Value <> "") Or _
(RB.Value <> "" And MFC.Value <> "") Or _
(MCC.Value <> "" And LB.Value <> "") Or _
(TB.Value <> "" And BB.Value <> "") Then
ret = False

Else
ret = True

End If

如果要返回 true if 任何两个都有一个值,您将需要不同的方法。让我知道,如果是这种情况,我可以提供。

请注意一个项目 .Value属性可能与其 .Text 不同属性(property)。
What is the difference between .text, .value, and .value2?

关于excel - 用于检查具有复杂条件的空组合框或文本框的 VBA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33265022/

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