器用貧乏の独り言

器用貧乏なおっさんが気の向くままに。

【VBA】16進数を10進数に変換するマクロ

◇前置き

先日、10進数を16進数に変換するマクロを紹介しました。

↓詳しくはこちらから。
wwwmotou.hatenablog.com


例のごとく10進数→16進数のマクロを作ったのなら逆も作っちゃいましょう!
ということで今日は16進数を10進数に変換するマクロを紹介します。

◇概要

いつものようにこんなExcelを用意します。

B列に16進数を入力して変換ボタンをクリックすると、C列に10進数が出力されます。

ソースコード

ソースコードはこんな感じです。

Sub Number_16_to_10()
 
Dim Num16 As Variant
Dim i As Integer
Dim count As Integer
   i = 0
   count = 0
   
   For i = 3 To 14
       Num16 = Range("B" & i)
       If Range("B" & i).Value <> "" Then
           Range("C" & i).Value = WorksheetFunction.Hex2Dec(Num16)
           count = count + 1
       End If
   Next
 
   MsgBox count & "件のデータを16進数⇒10進数に変換しました。"
 
End Sub 

◇使い方

実際に動かしてみましょう。
まずは適当な値をB列に入力します。

変換ボタンをクリックすると........

無事変換出来ました!

◇最後に

今回もワークシート関数を使ったマクロを紹介しました。

計算の面倒くさい基数変換もワークシート関数を使えば、短いコードで簡単に計算できます。

他言語にはないExcelVBAの強みですね。

この記事も誰かの役に立つと嬉しいです。