|
▼あいんすと さん:
>スイマセン10進数から2進数に変換するマクロを教えて下さい。
>VBAでは10進数→2進数に変換する"DEC2BIN"は使えないみたいで、
>どうしたらよいのか分かりません。
こんばんは、
8 進数と16はあるようですけど無いみたいですね。
下の2つがバリアントで返すのでとりあえず
CBin関数を同じ形式にしました。
string型になっていますので、文字としてつかってください。
( ビットのonoffが知りたいだけなら、 ビットシフトなど使うと簡単にわかります。)
8 進数
Oct(number)
16 進数
Hex(number)
実行
CBin(4)
CBin(22)
結果
100
10110
Function CBin(Value As Long) As Variant
Dim TempStr As String
Dim i As Long
TempStr = ""
i = Value
If i <= 0 Then TempStr = "0"
Do While (i > 0)
TempStr = CStr(i Mod 2) + TempStr
i = i \ 2
Loop
CBin = TempStr
End Function
|
|