你接收到的本来就是十进制数,何苦再转换成16进制,然后又再转换为10进制.
按我理解你的题意,写了一段代码.
Function Data1andData2(data1 As Byte, data2 As Byte) As Long
Dim tmp As Long
tmp = 256
tmp = tmp * data1 + data2
If tmp > 32768 Then tmp = tmp - 65536
Data1andData2 = tmp
End Function
'再写一段测试程序
Private Sub Command1_Click()
Dim data(2) As Byte
Dim tmp As Long