Private Sub Command3_Click()
On Error GoTo ERR1
Dim STR_TEMP As Byte
STR_TEMP = Hex(Text5.Text)
'STR(1) = STR_TEMP
Text6.Text = STR_TEMP 'STR(1)
Exit Sub
ERR1:
Text6.Text = "ERR"
End Sub
当在text5种输入153~255或26~31时提示“实时错误13,类型不匹配”!但如果改为如下就没事:
Private Sub Command3_Click()
On Error GoTo ERR1
'Dim STR_TEMP As Byte
STR_TEMP = Hex(Text5.Text)
'STR(1) = STR_TEMP
Text6.Text = STR_TEMP 'STR(1)
Exit Sub
ERR1:
Text6.Text = "ERR"
End Sub
为什么不能定义STR_TEMP,我必须在全局变量中使用该值。
谢谢!!

解决方案 »

  1.   

    Hex 函数
    返回代表十六进制数值的 StringPrivate Sub Command3_Click()
        On Error GoTo ERR1
        Dim STR_TEMP As Byte
        'STR_TEMP = Val("&H" & Hex(Val(Text5.Text)))'本句是取16进制字符形式再转为10进制
        STR_TEMP = Val(Text5.Text)
        Text6.Text = STR_TEMP 'STR(1)
        Exit Sub
    ERR1:
        Text6.Text = "ERR"
    End Sub
      

  2.   

    当你hex(255)时,结果为FF,这个是字符串啊,你放到byte型变量里肯定不对了,你的定义成String类型