Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1821|回复: 5

[已解决]请问该比大小的表达式问题在哪?

[复制链接]
发表于 2016-7-14 16:34 | 显示全部楼层 |阅读模式
Sub test()
a = 5.2
b = InputBox("")
If a < b Then
MsgBox "B比A大"
ElseIf a > b Then
MsgBox "a比b大"
End If
End Sub

为什么不管填比5.2大还是比5.2小都显示 "B比A大"?问题出在哪?

最佳答案
2016-7-14 17:35
Sub test()
a = 5.2
b = InputBox("")
If a < 0 + b Then
MsgBox "B比A大"
ElseIf a > 0 + b Then
MsgBox "a比b大"
End If
End Sub
发表于 2016-7-14 16:56 | 显示全部楼层
Sub test()
Dim a As Date
a = 5.2
b = InputBox("")
If a < b Then
MsgBox "B比A大"
ElseIf a > b Then
MsgBox "a比b大"
End If
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-7-14 17:20 | 显示全部楼层
baksy 发表于 2016-7-14 16:56
Sub test()
Dim a As Date
a = 5.2

为什么现在成 a比b大了? 还是没有用呀
回复

使用道具 举报

发表于 2016-7-14 17:35 | 显示全部楼层    本楼为最佳答案   
Sub test()
a = 5.2
b = InputBox("")
If a < 0 + b Then
MsgBox "B比A大"
ElseIf a > 0 + b Then
MsgBox "a比b大"
End If
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-7-14 17:42 | 显示全部楼层
metoo77 发表于 2016-7-14 17:35
Sub test()
a = 5.2
b = InputBox("")

感谢原来还要加个0。。
回复

使用道具 举报

发表于 2016-7-14 17:51 | 显示全部楼层
本帖最后由 爱疯 于 2016-7-14 19:33 编辑

Sub test()
    Dim a As Double
    Dim b As Double
    Dim str As String

    a = 5.2
    b = InputBox("a=5.2,请输入b")

    If a < b Then
        str = "a<b"
    ElseIf a > b Then
       str = "a>b"
    Else
        str = "a=b"
    End If

    MsgBox str
End Sub


不声明数据类型,变量b总是文本,文本总比5.2大。
声明数据类型,更规范些。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 13:40 , Processed in 0.428325 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表