基数変換マクロの修正完了

 2進数を3進数に直したい場合、マクロの中で一度2進数から10進数に戻して、もう一度今度は10進数を3進数に変換するように修正しました。追記した命令は全部で4行。再帰の考え方を使ったので、プログラム記載行数の節約にはなりました。(プロの方から見ると格好悪い書き方かも知れませんが。)
 とりあえずソースは以下の通り。

Function 基数変換(input_num As Integer, origin_num As Integer, base_num As Integer)
'引数:input_num(基数変換の対象)origin_num(変換元の基数),base_num(変換したい基数)
 
  Dim i As Integer
  Dim residue As Integer 'residue:余りの英語表記らしい
  Dim quotient As Integer 'quotient:商を意味する英単語
  Dim ans '基数変換の答え(一時バッファとしても使用)
 
  If origin_num <> 10 And base_num <> 10 Then
    '変換対象が10進数以外ならば10進数に戻せ
    input_num = 基数変換(input_num, origin_num, 10)
    origin_num = 10
  End If
 
  i = 0
  ans = 0
 
  Do While input_num >= base_num
    residue = input_num Mod base_num
    ans = ans + residue * origin_num ^ i
    input_num = (input_num - residue) / base_num
    i = i + 1
  Loop
 
  residue = input_num Mod base_num
  ans = ans + residue * origin_num ^ i
 
  基数変換 = ans
 
End Function

※赤字の部分が変更行です。(4行+コメント行1行)