永发信息网

vb提示类型不匹配

答案:2  悬赏:20  手机版
解决时间 2021-02-07 10:44
  • 提问者网友:了了无期
  • 2021-02-06 19:24
Sub add()
Dim i As Integer, j As Integer, strbh As String
With Sheets("登记表")
i = .[A65536].End(xlUp).Row
If Cells(3, 1) = "" Then
strbh = "XNSJ-2015ZJ-001"
Else
strbh = Cells(i, 1)
strbh = "XNSJ-2015ZJ-" & Format(CInt(Right(strbh, 3)) + 1, "000")
End If
end with
end sub
提示类型不匹配
strbh = "XNSJ-2015ZJ-" & Format(CInt(Right(strbh, 3)) + 1, "000")为黄色
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-02-06 20:15
strbh = "XNSJ-2015ZJ-" & Format(CInt(Right(strbh, 3)) + 1, "000")

改为
strbh = "XNSJ-2015ZJ-" & Format(Val(Right(strbh, 3)) + 1, "000")
全部回答
  • 1楼网友:舊物识亽
  • 2021-02-06 21:34
dim sendsj(11) as byte, i as long dim a(1 to 3) as long a(1) = text1.text a(2) = text2.text a(3) = text3.text for i = 0 to 11 step 4     copymemory sendsj(i), a(i / 4 + 1), 4 next mscomm1.output = sendsj楼上两位的说法都是有错的。a(1) = text1.text这个本身是不会提示类型不匹配的,vb会自动转换text1中的文本数字为数值型数字然后再赋值给长整型变量的,除非text1中输入的不是数字才会出错,所以加上val()函数这个倒是没错的。真正提示类型不匹配的是copymemory函数的第二个参数不能用a(),而应该指定数组的具体元素,比如a(1)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯