Function Hex2Dec(InputData As String) As Double
''
''  Converts Hexadecimal to Decimal
''
Dim I As Integer
Dim DecOut As Double
Dim Lenhex As Integer
Dim HexStep As Double
'' Zeroise the output
DecOut = 0''  The length of the input
''
InputData = UCase(InputData)
Lenhex = Len(InputData)''
''  Check to make sure its a valid Hex Number
''
For I = 1 To LenhexIf IsNumeric(Mid(InputData, I, 1)) Then
  ''
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "A" Then
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "B" Then
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "C" Then
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "D" Then
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "E" Then
  GoTo NumOk
ElseIf Mid(InputData, I, 1) = "F" Then
  GoTo NumOk
Else
  MsgBox "Number given is not in Hex format", vbCritical
  Exit Function
End IfNumOk:
Next IHexStep = 0''
''
''  Convert the Number to Decimal
''
For I = Lenhex To 1 Step -1HexStep = HexStep * 16
If HexStep = 0 Then
  HexStep = 1
End If If Mid(InputData, I, 1) = "0" Then
   DecOut = DecOut + (0 * HexStep)
 ElseIf Mid(InputData, I, 1) = "1" Then
   DecOut = DecOut + (1 * HexStep)
 ElseIf Mid(InputData, I, 1) = "2" Then
   DecOut = DecOut + (2 * HexStep)
 ElseIf Mid(InputData, I, 1) = "3" Then
   DecOut = DecOut + (3 * HexStep)
 ElseIf Mid(InputData, I, 1) = "4" Then
   DecOut = DecOut + (4 * HexStep)
 ElseIf Mid(InputData, I, 1) = "5" Then
   DecOut = DecOut + (5 * HexStep)
 ElseIf Mid(InputData, I, 1) = "6" Then
   DecOut = DecOut + (6 * HexStep)
 ElseIf Mid(InputData, I, 1) = "7" Then
   DecOut = DecOut + (7 * HexStep)
 ElseIf Mid(InputData, I, 1) = "8" Then
   DecOut = DecOut + (8 * HexStep)
 ElseIf Mid(InputData, I, 1) = "9" Then
   DecOut = DecOut + (9 * HexStep)
 ElseIf Mid(InputData, I, 1) = "A" Then
   DecOut = DecOut + (10 * HexStep)
 ElseIf Mid(InputData, I, 1) = "B" Then
   DecOut = DecOut + (11 * HexStep)
 ElseIf Mid(InputData, I, 1) = "C" Then
   DecOut = DecOut + (12 * HexStep)
 ElseIf Mid(InputData, I, 1) = "D" Then
   DecOut = DecOut + (13 * HexStep)
 ElseIf Mid(InputData, I, 1) = "E" Then
   DecOut = DecOut + (14 * HexStep)
 ElseIf Mid(InputData, I, 1) = "F" Then
   DecOut = DecOut + (15 * HexStep)
 Else
   MsgBox "Something is Screwed up, Wahhhhhhhhhhh", vbCritical
 End IfNext IHex2Dec = DecOuteds:
End Function