vb中IIf()函数的问题

2025-01-02 21:17:09
推荐回答(6个)
回答1:

我是这么理解的,因为你没有给出a、B、c、d的数据类型,所以光凭a=97,B=66,c=99,d=100不好判断x=IIF((a>B) and (c分析如下:
1、如果四个变量均为数值型变量,则如你所说,应该会返回x=10。
2、如果四个变量均为字符串型变量,则a>B返回True,但c

回答2:

Dim x, a, b, c, d As Long
a = 97
b = 66
c = 99
d = 100
x = IIf((a > b) And (c < d), 10, 20)
MsgBox x
运行结果:10

回答3:

MsgBox a > B
MsgBox IIf((a > B), 10, 20)
MsgBox IIf((a > B) And (c < d), 10, 20)

运行一下这个就知道了

回答4:

Private Sub Form_Load()

a = 97
B = 66
c = 99
d = 100

x = IIf((a > B) And (c < d), 10, 20)

MsgBox x

End Sub

何来20,你看的书印错的吧?

回答5:

这个嘛。。a,b,c的类型没有指定所以iff不好判断,只好给你返回假

回答6:

首先不知道你在前面是否声明了变量a、 B、 c 、d的类型,如果没有声明的话,系统会自动默认为变体型(Variant),若变量没有赋初值,则系统默认的值都是一样的,那么它们之间的大于或小于关系都不成立,值为False, 两个False相And,结果还是False,函数自然是20啦。