うちのカレーにはこれが入ってる!って食材ありますか?

エクセル2003を使用しています。
A列に小数が入力されていて
B列に4バイトの16進数に変換した結果を出力するマクロを作りたいと考えています。
例えばA1=1.0のとき
B1=0000803F
とリトルエンディアンで表示させたいです。
エクセルでこのような変換は可能でしょうか?

A 回答 (1件)

こんな感じでしょうか。

Cのunionみたいな機能があれば良いのですが、無いので、ファイルに書いて読み直す。
Function ftox(f As Single) As String
Dim i As Long
Dim s As String
Open "C:\temp\xx" For Binary Access Write As 1
Put #1, , f
Close #1
Open "C:\temp\xx" For Binary Access Read As 1
Get #1, , i
Close #1
s = Hex(i)
ftox = Right(s, 2) & Mid(s, 5, 2) & Mid(s, 3, 2) & Left(s, 2)
End Function

別案としては、浮動小数点数値への変換ロジックをそのままVBAで書く。
めんどくさそうです。
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございます!
さっそくやってみたいと思います

お礼日時:2015/02/09 23:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報