Temp=&HFFFFなどにした場合にTempが-1などになってしまいます。
これはどうしておこるのでしょうか?
4 桁以下の小さい16進数値を符号付き 2 バイト整数に変換した場合に、
&H8000 から &HFFFF の間の数値が負の値として扱われる場合があります。
長整数のサフィックス "&" を 16 進数文字列に付加すると回避できます。
Dim lngVal as Long
Dim strHex as string
strHex = "FFFF"
lngVal = Val("&H" & strHex & "&")
ご回答ありがとうございます。
仕様なんですね。
大変ためになりました。ありがとうございました。
ツイート | ![]() |