Excel VBA質問箱 IV

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

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


12702 / 76734 ←次へ | 前へ→

【69548】Re:10進→16進8桁への変換
発言  Yuki  - 11/7/31(日) 18:07 -

引用なし
パスワード
   ▼質問者 さん:
>データ型を変更したのですが、Hex関数の部分がどうしても
>オーバーフローを回避する方法を教えて下さい。

こんな風な関数でどうですか
Sub TestvbDec2Hex()  ' テストしたもの
  Debug.Print vbDec2Hex(CDec(2 ^ 8) - 1)
  Debug.Print vbDec2Hex(CDec(2 ^ 32) - 1)
  Debug.Print vbDec2Hex(CDec("1234567890123456"), 16)
End Sub

'********************************************************
'*** TargetValeu : 変換データ
'*** col     : 表示桁数 8桁標準
'********************************************************
Public Function vbDec2Hex(ByVal TargetValue As Variant, _
             Optional ByVal col As Long = 8)
  Const Base   As Long = 16
  Const CharList As String = "0123456789ABCDEF"
  Dim nVal    As Variant
  Dim vVal    As Variant

  Do
    nVal = Fix(TargetValue / Base)
    vVal = (TargetValue - (nVal * Base))
    
    vbDec2Hex = Mid(CharList, vVal + 1, 1) & vbDec2Hex
    
    TargetValue = nVal
  Loop Until TargetValue = 0
  If Len(vbDec2Hex) < col Then
    vbDec2Hex = Right(String(col, Left(CharList, 1)) & vbDec2Hex, col)
  End If
End Function

6 hits

【69542】10進→16進8桁への変換 質問者 11/7/30(土) 21:34 質問
【69543】Re:10進→16進8桁への変換 kanabun 11/7/30(土) 21:44 発言
【69545】Re:10進→16進8桁への変換 ichinose 11/7/31(日) 0:23 発言
【69547】Re:10進→16進8桁への変換 ichinose 11/7/31(日) 8:59 発言
【69548】Re:10進→16進8桁への変換 Yuki 11/7/31(日) 18:07 発言
【69550】Re:10進→16進8桁への変換 jyun 11/7/31(日) 18:57 回答
【69560】Re:10進→16進8桁への変換 質問者 11/8/1(月) 20:46 お礼

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