Excel精英培训网

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

[已解决]如何验证 刚输入的是否为纯正整数

  [复制链接]
发表于 2011-5-28 21:16 | 显示全部楼层 |阅读模式
本帖最后由 研究研究 于 2011-5-28 22:12 编辑

目标行 = Application.InputBox("请输入要修改的序号", "准备修改")

如何来判断刚输入的信息是否是大于0的整数
最佳答案
2011-5-28 23:49

  1. Private Sub CommandButton1_Click()
  2.     Dim n
  3.    
  4.     n = Application.InputBox("请输入要修改的序号", "准备修改")
  5.     If VBA.IsNumeric(n) = False Then
  6.         MsgBox "输入的序号不合法。"
  7.         End
  8.     End If
  9.    
  10.     If n < 1 Or n > 65536 Then
  11.         MsgBox "输入的序号不合法。"
  12.         End
  13.     End If
  14.    
  15.     If Int(n) <> CLng(n) Then
  16.         MsgBox "输入的序号不合法。"
  17.         End
  18.     End If
  19. End Sub
复制代码

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-5-28 21:22 | 显示全部楼层
本帖最后由 兰色幻想 于 2011-5-28 21:22 编辑

int(目标行)=目标行
回复

使用道具 举报

 楼主| 发表于 2011-5-28 22:10 | 显示全部楼层
本帖最后由 研究研究 于 2011-5-28 22:10 编辑

不对啊  兰版
BOOK1.rar (9.44 KB, 下载次数: 24)
回复

使用道具 举报

 楼主| 发表于 2011-5-28 22:22 | 显示全部楼层
因为我想验证

if  Range("A" & 目标行) = ”“ then

如果瞎输入A ,B,d或者中文和其他 乱七八糟的 绝对会报错的
所以我想在这个之前先验证是否是大于0的数字
回复

使用道具 举报

发表于 2011-5-28 22:31 | 显示全部楼层
研究研究 发表于 2011-5-28 22:22
因为我想验证

if  Range("A" & 目标行) = ”“ then

  1. Private Sub CommandButton1_Click()
  2. Dim 目标行 As Double
  3. 目标行 = Application.InputBox("请输入要修改的序号", "准备修改")
  4. If Int(目标行) = 目标行 And 目标行 > 0 Then
  5.   MsgBox ("是大于零的整数")
  6.   Else
  7.   MsgBox ("不是大于零的整数")
  8. End If
  9. '如何来 目标行 是否是 大于0的整数
  10. End Sub
复制代码

回复

使用道具 举报

 楼主| 发表于 2011-5-28 22:45 | 显示全部楼层
不是的  在输入非数字时报错
回复

使用道具 举报

发表于 2011-5-28 23:05 | 显示全部楼层
    If VBA.IsNumeric(目标行) And 目标行 > 0 And Int(目标行) = 目标行 Then
        '后面的代码
    End If

{:041:}
回复

使用道具 举报

 楼主| 发表于 2011-5-28 23:26 | 显示全部楼层
请 爱疯 和 飞天小猪 在临时对话框里输入  abcd看看 报错

要不直接限制他在临时对话框只能输入数字
回复

使用道具 举报

发表于 2011-5-28 23:49 | 显示全部楼层    本楼为最佳答案   

  1. Private Sub CommandButton1_Click()
  2.     Dim n
  3.    
  4.     n = Application.InputBox("请输入要修改的序号", "准备修改")
  5.     If VBA.IsNumeric(n) = False Then
  6.         MsgBox "输入的序号不合法。"
  7.         End
  8.     End If
  9.    
  10.     If n < 1 Or n > 65536 Then
  11.         MsgBox "输入的序号不合法。"
  12.         End
  13.     End If
  14.    
  15.     If Int(n) <> CLng(n) Then
  16.         MsgBox "输入的序号不合法。"
  17.         End
  18.     End If
  19. End Sub
复制代码

回复

使用道具 举报

发表于 2011-5-29 10:25 | 显示全部楼层
回复 研究研究 的帖子
  1. Private Sub CommandButton1_Click()
  2. 目标行 = Application.InputBox("请输入要修改的序号", "准备修改")
  3. Select Case 目标行
  4. Case 1 To 65536
  5. MsgBox "OK"
  6. End Select
  7. End Sub

复制代码

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 22:32 , Processed in 0.667484 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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