Microsoft KB Archive/213392

= XL2000: Visual Basic Macro to Convert Number to a Different Base =

Article ID: 213392

Article Last Modified on 10/11/2006

-

APPLIES TO


 * Microsoft Excel 2000 Standard Edition

-



This article was previously published under Q213392



SUMMARY
This article contains a sample Microsoft Visual Basic for Applications function that converts an integer number to any base less than 10.



MORE INFORMATION
The following function is a sample function called "baseconv" that takes two arguments. The first argument, InputNum, is an integer number to be converted. The second argument, BaseNum, is the number of the base to convert InputNum to.

Sample Visual Basic Procedure
Function baseconv(InputNum, BaseNum) Dim quotient, remainder As Single Dim answer As String

quotient = InputNum  ' Set quotient to number to convert. remainder = InputNum ' Set remainder to number to convert. answer = ""

Do While quotient <> 0  ' Loop while quotient is not zero.

' Store the remainder of the quotient divided by base number in a     ' variable called remainder.

remainder = quotient Mod BaseNum

' Reset quotient variable to the integer value of the quotient ' divided by base number.

quotient = Int(quotient / BaseNum)

' Reset answer to contain remainder and the previous answer. answer = remainder & answer ' Convert answer variable to a number. Loop baseconv = Val(answer) End Function The function should be typed in a worksheet cell as follows:   =baseconv(InputNum, BaseNum) For example, the following call to the baseconv function   =baseconv(100,2) returns the following value in the cell:   1100100

