永发信息网

EXCEL vb代码提示"类型不匹配"

答案:2  悬赏:20  手机版
解决时间 2021-03-21 22:46
EXCEL vb代码提示"类型不匹配"
最佳答案
Do While NumberSalary(i) = "" Or NumberSalary(i) < 6


第一个判断条件等号左右两边类型不一致,左边是long型的,右边是string型的


代码修改如下:
Dim TotalH As Byte
Public Sub EnterHours()
Dim H As Byte
Dim i As Byte
TotalH = 0
For i = 1 To 5
H = InputBox("请输入周" & UCase(i) & "工作时间(单位:小时):")
TotalH = TotalH + H
Next
MsgBox "本周工作共计" & TotalH & "小时"
End Sub
'输入员工姓名即薪资,消息框显示每个员工的本周总工资
Public Sub Salary()
Dim Totalalary() As Long
Dim NumberSalary() As Long
Dim Number() As String
Dim i, j As Integer
Dim isp As Integer
isp = vbYes
Do While isp = vbYes
  i = i + 1
  ReDim Number(i) As String
  Number(i) = InputBox("请输入员工姓名")
 
  If Number(i) = "" Then
     isp = MsgBox("是否要继续输入员工姓名", vbYesNo)
   
     If isp = vbYes Then
       Number(i) = InputBox("请输入员工姓名")
     End If
  End If
  
  ReDim NumberSalary(i) As Long
  
  
  NumberSalary(i) = Val(InputBox("请输入" & Number(i) & "的时薪:"))
  '时薪最小值为6,空值或小于6则需要重新输入
  Do While NumberSalary(i) < 6
     NumberSalary(i) = Val(InputBox("时薪是小值为6,请重新输入" & Number(i) & "的时薪:"))
  Loop
  
  ReDim Totalalary(i) As Long
  Totalalary(i) = NumberSalary(i) * TotalH
  
Loop
For j = 1 To i - 1
MsgBox Number(j) & ":时薪" & NumberSalary(j) & ",本周总薪资" & Totalalary(j)
Next
End Sub追问老师好,您用的是什么软件,显示出上面的效果追答回答里面有选代码语言
全部回答
因为NumberSalary的类型定义为了Long,就不能接受字符数据,也不能和字符数据进行比较(注意,空字串也是字符数据)
解决办法:
将 NumberSalary(i) = InputBox("请输入" & Number(i) & "的时薪:") 修改为:

NumberSalary(i) = Val(InputBox("请输入" & Number(i) & "的时薪:")) '强制转换为数值数据

将 Do While NumberSalary(i) = "" Or NumberSalary(i) < 6 修改为:

Do While NumberSalary(i) < 6
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙山乡住宅地址有知道的么?有点事想过去
单选题Ifwewanttosucceedwemust________w
一汽奔腾B50用的是什么样的防冻液
描写新疆风光的优秀散文
复记老友(中山路店)地址在什么地方,想过去办
汽车配件是用原厂的好些?还是品牌的好些?
单选题实验过程中要特别注意操作步骤的先后顺
16个硬币 排成三行 每行分别3 6 7 两人轮流拿
敬业精神标语,赞扬敬业奉献,坚持的人的句子
最后一段段写观潮的人们等内容,在文中有何作
DN20和DN25法兰可以直接联吗,(不是焊接)
p2p理财诈骗如何拿回
我好想加入SNH48可是我没什么特长
我要呼吁全人类,重视尊重生命的伦理。这种伦
吴店村这个地址在什么地方,我要处理点事
推荐资讯
我的三星n7000手机,太久没用了,现在用想更
显示器是戴尔好还是华硕好了解的说下
完美康祥瑞商行地址有知道的么?有点事想过去
离山东济南比较近的周边旅游景点有哪些?
“怸”这个字怎么读
旋风少女吴磊被扑倒第几集
狼哥,最近在写什么
感觉发烧了是多穿衣服好,还是少穿衣服
定积分原函数怎么算例如∫sinπx/3dx=(3/π)
犀牛软件里面的 networksrf命令 有图标没有
请问一下,谁还记得当年的那个永生芙蓉王?
尊敬的老师们请问:北京舞蹈学院到底什么条件
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?