I found some code that gets me on the right track. But for the short "T" and "U" it is one off. With longer sets of data it is quite a ways off. I'll post below:

Public Function GetCheckSum(ByVal sMessage As String, Optional ByVal bIncludeMessage As Boolean) As String

'//Check that there is something in the sMessage

If sMessage = vbNullString Then

Exit Function

End If

Dim CheckSum As Long

Dim i As Integer

For i = 1 To Len(sMessage)

CheckSum = CheckSum + Asc(Mid(sMessage, i, 1))

Next

CheckSum = 256 - CheckSum Mod 256

CheckSum = CheckSum Mod 256

GetCheckSum = Hex(CheckSum)

If (Len(GetCheckSum) = 1) Then

GetCheckSum = "0" & GetCheckSum

End If

If bIncludeMessage = True Then

GetCheckSum = sMessage & GetCheckSum

End If

End Function

Public Function GetCheckSum(ByVal sMessage As String, Optional ByVal bIncludeMessage As Boolean) As String

'//Check that there is something in the sMessage

If sMessage = vbNullString Then

Exit Function

End If

Dim CheckSum As Long

Dim i As Integer

For i = 1 To Len(sMessage)

CheckSum = CheckSum + Asc(Mid(sMessage, i, 1))

Next

CheckSum = 256 - CheckSum Mod 256

CheckSum = CheckSum Mod 256

GetCheckSum = Hex(CheckSum)

If (Len(GetCheckSum) = 1) Then

GetCheckSum = "0" & GetCheckSum

End If

If bIncludeMessage = True Then

GetCheckSum = sMessage & GetCheckSum

End If

End Function