io farei una cosa del genere (con RThreshold = 1)
codice:
Private Sub MSComm1_OnComm()
Dim RxBuffer As String
Dim Rx As String
Rx = MSComm1.Input
If Rx = "$" Then 'inizio messagio: reset del buffer
RxBuffer = Rx
ElseIf Rx = vbCr Then 'fine messaggio: esame dei dati ricevuti
EsaminaStringa RxBuffer
Else 'carattere del corpo del messaggio: concatenamento
RxBuffer = RxBuffer & Rx
End If
End Sub
Private Sub EsaminaStringa(sTxt As String)
Dim sPesoNetto As String
If Len(sTxt) <> 31 Then
MsgBox "Stringa non valida"
Exit Sub
End If
sPesoNetto = Mid(sTxt, 2, 9)
Text5.Text = sPesoNetto
'oppure se vuoi visualizzare tutte le pesate in una TextBox Multiline ...
Text5.Text = Text5.Text & sPesoNetto & vbCrLf
DoEvents 'diamo tempo alla Textbox di aggiornarsi!
End Sub
Naturalmente non ho la possibilità di provarlo. Vedi un po' se può andare.