excel - 将字符串的字节相加
问题描述
在 Excel 中使用 VBA。我有一个五个字符的字母数字字符串,我想将这些字节加在一起以获得总数。
Dim strMyString As String
strMyString = “ab9cd”
如何将字符串转换为字节,然后将每个字节相加?我想我需要将字符串的每个字符转换为十六进制字节,然后将每个十六进制字节转换为十进制。然后我可以将它们加在一起。提前感谢您的帮助。
解决方案
请尝试使用/理解下一个代码:
Sub playWithBytes()
Dim strMyString As String, arrB() As Byte
strMyString = "ab9cd"
arrB() = StrConv(strMyString, vbFromUnicode) 'create a byte array from the string
Debug.Print UBound(arrB()) 'it returns 4 (5 elements in a zero based array)
Debug.Print WorksheetFunction.Sum(arrB()) 'the zero after each byte does not matter when summing...
End Sub
下一个版本将字符串放在字节数组中,但每个字符字节后跟一个零:
Sub playWithBytesBis()
Dim strMyString As String, arrB() As Byte
strMyString = "ab9cd": arrB() = strMyString 'create a byte array, but each string byte is followed a zero element
Debug.Print UBound(arrB()) 'it returns 9 (10 elements in a zero based array)
Debug.Print WorksheetFunction.Sum(arrB())
End Sub
推荐阅读
- reactjs - React + Nodejs => 发送函数作为 props 的区别
- android - 下载工件时出现 java.io.FileNotFoundException 以及 Gradle 错误
- python - 如何将 NSISO8601DateFormatOptions 与 PyObjC 一起使用
- excel - 当没有数据要计算而不使用自定义数字格式时如何隐藏 0
- qt - QML 中的条件拖放
- linux - 如何通过两个 SSH 连接使用 TensorBoard
- amazon-web-services - 将日志文件从 Container 同步到 S3 存储桶时出现问题
- javascript - 似乎无法在 blazor 中调用 javascript
- r - 按距离为 R 中的条件逻辑回归创建案例对照匹配
- omnet++ - 静脉 5.1 和 omnet 6.0pre10 中的 opp_run 错误