问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

一个inputbox函数程序部分功能实现问题~~

提问网友 发布时间:2024-04-04 08:54
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2024-04-20 05:37
一:我如果按弹出对话框的取消按钮,会提示出错信息~~“实时错误13,类型不匹配”
解释:InputBox() 函数返回的值是一个字符串。你的语句是Num = InputBox(...),因为已经定义了Num是个整形数,所以当你输入数字时,自动转变为整形格式。当你按取消时,InputBox() 得到一个空字符串即"",它不能转变成整形格式,所以提示实时错误13,类型不匹配”。

二:我如果不在弹出的对话框中输入任何信息直接点确定,会提示错误~~“实时错误13,类型不匹配”
解释:其实,即使你点了确定,因为没有输入任何东东,所以当你按确定之后,InputBox() 仍然得到一个空字符串即"",因为它不能转变成整形格式(参照问题一解释),所以仍提示“实时错误13,类型不匹配”。

三:还有一个就是我如果在信息框中输入非数字,也会提示“实时错误13,类型不匹配”。
解释:再三,当你输入非数字的东东(如33rr88),按确定之后,InputBox() 得到一个原样的字符串即"33rr88",因为它不能直接转变成整形格式(参照问题一解释),所以仍然是提示“实时错误13,类型不匹配”。

要解决这个问题,我通常是这样解决的:
定义一个St变量,让input语句给它赋值,永远不会出错!
然后通过判断st的值估摸相应的变化:
如果st=""则退出,st不是数字时提示重新输入,st是数字时转化成数字格式往下执行。

关于什么也不输就按“确定”时出错问题的解决,一般是在input显示框中放上一个默认值,这样,直接按“确定”时,等于输入了默认值,就不会出错误提示了。如在本例中可以放上一个3。

具体程序可以这样:
'把你程序中Num = InputBox("请输入位移次数:", "位移次数") 一句去掉换成下面几行:
Dim St As String
Do
St = InputBox("请输入位移次数:", "位移次数", 3)
If St = "" Then Exit Sub
If IsNumeric(St) Then Exit Do
msgbox "请输入数字!"
Loop
Num = Val(St)
后面接你的程序,就行了。
热心网友 回答时间:2024-04-20 05:37
Dim a(9) As Integer, i%, Num%, b(9) As Integer
Private Sub CMD_Click()
On Error GoTo err
Num = Val(InputBox("请输入位移次数:", "位移次数"))
If Num > 10 Then
Num = Num - Int(Num / 10) * 10
End If
For i = LBound(a) To UBound(a)
If i - Num < 0 Then
b(i) = a(UBound(a) - (Num - i - 1))
Else
b(i) = a(i - Num)
End If
Print b(i);
Next i
Print
err:
End Sub
Private Sub Form_Activate()
For i = 0 To 9
a(i) = i
Next i
For i = LBound(a) To UBound(a)
Print a(i);
Next i
Print
End Sub

这样就好 没必要搞那么复杂
因为你已经将Num%定义为整型 所以你输入非数字就会报错~

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

类型不匹配&#39;cint&#39;,如何修改 错误:类型不匹配 默认值的类型与对应字段类型可以不一致吗? Access : 在默认值中有类型不匹配错误 喉咙有痰,吃药,做雾化效果不佳,什么原因 52和21,2和8,6和15,6和9,4和5,1和7,4和10,8和10,6和16,15和25,21和6... 52和80的公倍数是多少 新沂拿驾驶证C照哪里便宜 新沂三轮摩托车驾驶证在哪里办理 马自达CX-52021款2.5L多少钱能落地?马自达CX-5优惠价 中铁西北科学研究院真的很差吗,有谁知道啊?万分感谢!!! 中铁西北科学研究院怎么样以后的发展怎么样福利及待遇怎么样谢了_百... 中铁西北科学研究院有限公司怎么样? 文山折叠桌加工厂在哪里 韩剧美好世界大结局 ...个频率一个是主频,第二个是工作频率还是最大睿频? 我这电脑是2.9GHz的,怎么显示会有3.45呢?求解释 ...有多少人? ②喜欢足球的比喜欢篮球的多百分之几? 求助学霸们_百度知 ... 已成交的土地出让合同可以在微信圈转发吗 ...填写信息转发回去,没有本人签字,没有公司印章,在法律上有效吗... 孝感有一线护肤品专柜吗 孝感汾酒总经销在哪里 被暂予监外执行的罪犯包括( )。 打架造成肠裂,构成什么罪? 因为纠纷,两人斗殴,致一人盲肠破裂 属于轻伤还是重伤? 从沈阳市皇姑区塔湾到沈阳市27中学那有校车吗或可乘什麽路线的... 武汉工商局商标注册申请合同注意事项有哪些 猜谜语:千万张笑脸迎着红太阳 (亚洲首都二)谜底是什么? 高血糖29.8,现在应该怎么办,吃什么药或者有什么食物可以减下去呢? 货车司机开车可以开什么发票,车不是自己的 执着的歌词是什么? 电脑内存的外形具体是怎么样的?(本人是个电脑盲 林俊杰.by2.许嵩青岛银鹭歌友会有视频吗? 镇住财运是什么意思? 购书中心的英语怎样翻译 不要找机器翻译,谢谢..~~~ 从许昌到宝丰 都有几点的班车 ...突然慢了5分钟(石英表),我把他调好后现在又没什么问题,这正常吗... ...长了,对彼此的感情都会渐渐的消失,这是因为什么原 打一个数字:酒菜全上桌 贝多芬是如何评价自己的主治医生的
Top