I only get cut data in VB
My guess is your VB code is not printing out all the characters you are expecting to see, i.e. the characters print()ed by Arduino.
I have two suggestions: first, if you haven't done it already, open up the serial terminal and look at what exactly
Arduino is sending.
Next, look carefully at how you are dealing with received serial data in VB. Remember the mechanism is the same as that on Arduino: the com port delegate (i.e. serial port callback function) is called whenever there is some
data for you. You almost certainly have to insert an end-of-message marker on the Arduino side, and concatenate the received bytes on the VB side until that EOM char is seen.
I hope those 4 lines make sense :-)