PGSystemTester

UDF BaseConverter Function

Oct 31st, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'Converts to base almost anything. Uses upper and lower case
  2. '#VBA, #UDF, #CustomFunction
  3.  
  4. Function BaseConvert(number As Double, baseLevel As Long) As String
  5. Dim remainder As Long
  6.  
  7. Do While number > 0
  8.  
  9.     'finds remainder which displays to the right of the existing string
  10.    remainder = number Mod baseLevel
  11.    
  12.     'divides by base until value = 0 (rounds down)
  13.    number = VBA.Int(number / baseLevel)
  14.  
  15.  
  16.     If remainder < 10 Then
  17.         'regular 0-9 format
  18.        BaseConvert = remainder & BaseConvert
  19.    
  20.     ElseIf remainder < 36 Then
  21.         'upper case letters
  22.        BaseConvert = Chr(remainder + 55) & BaseConvert
  23.        
  24.     ElseIf remainder < 63 Then
  25.         'lower case letters
  26.        BaseConvert = Chr(remainder + 61) & BaseConvert
  27.    
  28.     Else
  29.         'uses asci code for anything bigger
  30.        BaseConvert = Chr(remainder + 60) & BaseConvert
  31.        
  32.     End If
  33.    
  34. Loop    'repeats until number = 0
  35.  
  36. End Function
Add Comment
Please, Sign In to add comment