楼主: pickuppickup
871 3

[学术与投稿] 求教一个VBA问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

57%

还不是VIP/贵宾

-

威望
0
论坛币
31 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3909 点
帖子
45
精华
0
在线时间
130 小时
注册时间
2011-3-16
最后登录
2014-8-4

楼主
pickuppickup 发表于 2013-3-19 12:52:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大师,VBA语言见分割线下。大致意思是,首先应用IsDate函数检验,如果用户输入的是有效的数据,则返回为“True”的逻辑值。如果不是有效数据类型,例如不是日期,则再一次检验,并显示一个信息高速用户输入的不是有效数据或者根本没有输入。如果用户输入的是日期,那么检验它是否是今天以后的日期,并给用户以提示信息。

问题大概出在13~18行,为什么不管输入什么什么日期,总归显示 varDate & "是有效输入" ,纵然满足条件“Case Is <= Date”,百思不得其解……

-----------------------------------------我是分割线----------------------------------------------------------------

1    Sub GetFutureDate()

2    Dim varDate As Variant

3    varDate = InputBox("输入今天以后的日期", "输入日期", Date + 1)

4    Select Case IsDate(varDate)

5    Case False:

6    Select Case varDate

7    Case ""

8    MsgBox "用户取消了输入或者没有输入"

9    Case Else

10   MsgBox "无效的输入"

11   End Select

12   Case True:

13   Select Case varDate

14   Case Is <= Date

15   MsgBox "无效的日期,必须是今天以后的日期"

16   Case ls > Date

17   MsgBox varDate & "是有效输入"

18   End Select

19   End Select

20   End Sub

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:VBA date ISDA 什么什么 Case 什么什么 提示信息 分割线 用户

沙发
pickuppickup 发表于 2013-3-19 17:02:00
自己摸摸地顶一下

藤椅
pickuppickup 发表于 2013-3-20 11:40:22
呼叫高手呼叫老手……

板凳
pickuppickup 发表于 2013-3-21 11:28:25
再顶一下,希望可以有人看到 - -

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-3 03:52