Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


45083 / 76732 ←次へ | 前へ→

【36654】Re:誰かご教授ください
発言  ichinose  - 06/4/6(木) 22:50 -

引用なし
パスワード
   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
1 hits

【36649】誰かご教授ください kogure 06/4/6(木) 20:21 質問
【36650】Re:誰かご教授ください とおりすがり 06/4/6(木) 21:53 発言
【36654】Re:誰かご教授ください ichinose 06/4/6(木) 22:50 発言
【36655】Re:誰かご教授ください kogure 06/4/7(金) 8:20 お礼

45083 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free