Private Function [B]TextToDecimal[/B](ByVal Text As String, ByVal Base As Long) As Currency
Dim Pos As Long, Value As Currency
For Pos = 1 To Len(Text)
Value = InStr(1, "0123456789ABCDEF", Mid(Text, Pos, 1), vbTextCompare) - 1
TextToDecimal = TextToDecimal + Value * (CCur(Base) ^ (Len(Text) - Pos))
Next
End Function
Private Function [B]DecimalToText[/B](ByVal Number As Currency, ByVal Base As Long) As String
Dim Value As Long
Do
Value = Number Mod Base
Number = Number \ Base
DecimalToText = Mid("0123456789ABCDEF", Value + 1, 1) & DecimalToText
Loop Until Number = 0
End Function
Private Function [B]ConvertBase[/B](ByVal Text As String, ByVal FromBase As Long, ByVal ToBase As Long) As String
ConvertBase = DecimalToText(TextToDecimal(Text, FromBase), ToBase)
End Function