|
▼ichinose さん:
>kogure さん:
>とおりすがり さん:
>こんばんは。
>
>
>>16進数は分かりませんが、&H00A000B0は10進数で表すといくつになりますか?
>とおっしゃっているのは、
>
>>> Cells(3, 1).Value = CInt("&H" & (Cells(2, 1).Value))
>
> この答えがIntegerの範囲を超えているからだと思います。
>Cint---->CLngに変えて見てください。
>
>とりあえず、エラーは回避できます。
>
>
>>>また変換後の数値をマイナスにしないようにするにはどうすればよいのでしょうか?
>
>N進数を---10進数に変換する計算を算数でやってしまうのが簡単そうですよ!!
>
>
>Sub main()
> Dim decnum As double
> Dim hexnum As string
> test1 = Cells(1, 1).Value
> test2 = Cells(1, 2).Value
> Cells(2, 1).Value = test1 + test2
> hexnum = Trim(Cells(2, 1).Value)
> For i = 0 To Len(hexnum) - 1
> decnum= decnum + (16 ^ i) * Val("&H" & Mid(hexnum , Len(hexnum) - i, 1))
> Next i
> Cells(3, 1).Value = decnum
>End Sub
ありがとうございます。
早速試してみます。
|
|