ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 为什么用InputBox输入的值无法得到统计结果?

为什么用InputBox输入的值无法得到统计结果?

作者:绿色风 分类: 时间:2022-08-17 浏览:137
楼主
zzmxy
Q: 我想对一张表格上的选定范围内的数据进行统计,但用下面的宏代码时输入“男”,统计结果=0,而实际是>0的 ?
  1. Sub 统计字符()
  2. Dim  a As Range, s As Double, msg As String, b As String
  3.    b = Application.InputBox(prompt:="请输入要统计的字符:", Type:=1)
  4.     For Each a In Selection
  5.        If a.Value = b Then s = s + 1
  6.     Next
  7.     msg = msg & "选区内查找字符总数为:" & s
  8.     MsgBox msg, 64, "选区统计"
  9. End Sub
A: 这里要区分好Application.InputBox方法和InputBox函数,后者直接就是接受String类型数据的,
    而前者,则可以根据其最后参数Type的指定,来返回不同类型的值,详细对应关系如下表:
   
 

   因此,错误的原因在于源代码里,指定Type:=1,这个与b As String出现冲突,修改为Type:=2或者直接省略即可。

   P.S:
InputBox方法的Type值也可以相加的形式出现,比如说Type:=3,那么,Type就是1+2,即可以为数值,也可以为文本字符串。
2楼
い卋玑┾宝珼
谢谢分享

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap