So your program is almost working. This is important information that you should have included in your first post to save everyone’s time.
Your problem is that you are only looking at ONE of the two bytes of the response; you are looking at the high byte. Try something like this (I’m not sure if this is valid VB code or not):
Did you actually try the code that I posted? Did it work? When someone tells you an easy way to fix your program, you should try their solution before asking for more help, and you should say what the results were!
Your program talks to the Maestro. The Maestro sends its Get Position response as a two-byte, little endian integer. There is nothing “decimal” about it.
It shifts the number to the left by 8 bits… equivalent to multiplying by 256. If “<< 8” is not valid in Visual Basic, try replacing it with “* 256”.