作者:绿色风
分类:
时间:2022-08-17
浏览:137
楼主 zzmxy |
Q: 我想对一张表格上的选定范围内的数据进行统计,但用下面的宏代码时输入“男”,统计结果=0,而实际是>0的 ?- Sub 统计字符()
- Dim a As Range, s As Double, msg As String, b As String
- b = Application.InputBox(prompt:="请输入要统计的字符:", Type:=1)
- For Each a In Selection
- If a.Value = b Then s = s + 1
- Next
- msg = msg & "选区内查找字符总数为:" & s
- MsgBox msg, 64, "选区统计"
- 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总版主之一