Question : excel vba big hex string to decimal string
Answered by : daniel-ferry
'Extremely fast function to parse hexidecimal digits from text string:
Function ForceStringToHexDigitsOnly$(s$) Dim i&, p&, max&, t& Dim b() As Byte, res() As Byte Static keep() As Boolean Const VALS$ = "0123456789 ABCDEFabcdef" If (Not Not keep) = 0 Then ReDim keep(0 To 255) For i = 1 To Len(VALS) keep(Asc(Mid$(VALS, i, 1))) = 1 Next End If max = Len(s) ReDim res(0 To max) b = StrConv(s, vbFromUnicode) For i = 0 To Len(s) - 1 t = b(i) If keep(t) Then res(p) = t p = p + 1 End If Next ForceStringToHexDigitsOnly = Left$(StrConv(res, vbUnicode), p)
End Function
'------------------------------------------------------------------------------
MsgBox ForceStringToHexDigitsOnly("qA01mzBoo7o2F%F") '<--displays: A01B72FF
'
'
'
Source : http://academy.excelhero.com/ | Last Update : Sun, 28 Feb 21