在vb中这个if语句为什么不能运行

来源:百度知道 编辑:UC知道 时间:2024/05/15 20:08:47
Dim x2, y2, z2 As Long
x1 = Val(Combo4.Text)
y1 = Val(Combo5.Text)
z1 = Val(Combo6.Text)

'判断此年是否是闰年
If (x1 / 4 = 0 And x1 / 100 <> 0) Or (x1 / 400 = 0) Then
'判断闰年2月是否超过29天
If y1 = 2 Then
If Val(Combo6.Text) >= 30 Then
MsgBox "今年是闰年,2月只有29日", vbOKOnly, "温馨提示"
End If
End If
Else

'判断不是闰年2月是否超过28日
If Val(Combo5.Text = 2) Then
If Val(Combo6.Text) > 29 Then
MsgBox "2月没有超过29日的", vbOKOnly, "温馨提示"
End If
End If
End If

判断闰年不应该是你下面这样的语句:
If (x1 / 4 = 0 And x1 / 100 <> 0) Or (x1 / 400 = 0) Then

你这个语句的意思是X1除以4是否为0,应该是看除以4的余数是否为0,你修改如下试试看:

If (x1 mod 4 = 0 And x1 mod 100 <> 0) Or (x1 mod 400 = 0) Then