Excel精英培训网

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

[已解决]如何判断Inputbox非输入内容还是点击了取消?

[复制链接]
发表于 2015-1-1 09:27 | 显示全部楼层 |阅读模式
本帖最后由 蝶·舞 于 2015-1-1 10:24 编辑

我想用Inputbox要对单元格A1赋值,我想要的目的是:当出现Inputbox对话框后,如果点击“取消”则直接退出,如果未输入任何内容而点击了“确定”,则提示“未输入内容”,如果输入了内容,再点击确定,则将该内容赋值给A1单元格。
最佳答案
2015-1-1 10:01
inputbox函数点取消按钮返回的是空字符串,没有输入内容点了确定也是返回空字符串,所以inputbox函数无法满足楼主的要求

inputbox方法(Application.InputBox),点取消按钮返回的是False,而没有输入点了确定是返回空字符串,所以楼主这里要用inputbox方法,代码如下
  1. Sub demo()
  2.     x = Application.InputBox("你好")
  3.     If x = False Then
  4.         Exit Sub
  5.     ElseIf x = "" Then
  6.         MsgBox "未输入内容"
  7.     Else
  8.         Range("a1") = x
  9.     End If
  10. End Sub
复制代码
发表于 2015-1-1 10:01 | 显示全部楼层    本楼为最佳答案   
inputbox函数点取消按钮返回的是空字符串,没有输入内容点了确定也是返回空字符串,所以inputbox函数无法满足楼主的要求

inputbox方法(Application.InputBox),点取消按钮返回的是False,而没有输入点了确定是返回空字符串,所以楼主这里要用inputbox方法,代码如下
  1. Sub demo()
  2.     x = Application.InputBox("你好")
  3.     If x = False Then
  4.         Exit Sub
  5.     ElseIf x = "" Then
  6.         MsgBox "未输入内容"
  7.     Else
  8.         Range("a1") = x
  9.     End If
  10. End Sub
复制代码
回复

使用道具 举报

发表于 2015-1-1 22:48 | 显示全部楼层
本帖最后由 liaozhifa33 于 2015-1-1 22:59 编辑

楼上的代码稍加修改,解决用户输入“False”导致可能出错。

Sub Test()
Dim x
    x = Application.InputBox("你好")
    '避免当用户手动输入"False"造成程序错误判断
    If (TypeName(x) = "String" And x = "False") Then
        Range("A1") = "'" & x          '强制文本,因为Excel中输入False会自动FALSE
       ElseIf x = False Then
            MsgBox "点击了取消"
            Exit Sub
        ElseIf Len(x) = 0 Then
            MsgBox "未输入内容"
        Else
            Range("A1") = x
    End If
End Sub

--------------------------------------
Sub Test1()
    x = Application.InputBox("你好")
    If x = False And TypeName(x) = "Boolean" Then
        Exit Sub
    ElseIf x = "" Then
        MsgBox "未输入内容"
    Else
        Range("a1") = x
    End If
End Sub
回复

使用道具 举报

发表于 2015-1-1 23:10 | 显示全部楼层
这不是inputbox的基本功能吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 18:04 , Processed in 0.240531 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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