ExcelのVBAで質問致します。


今、 
A1のセルには、16進数で16種類(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)いずれかの数字が入っています。
B1のセルには、16進数で16種類(5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14)いずれかの数字が入っています。


C1のセルに、
「A1のセルの数値」と「B1のセルの数値の10の位(つまり0か1)」の合計
を、16進数で表示させたいです。

関数ではなくVBAで実現させるためには、どのように記述すればよいでしょうか?
どうぞよろしくお願い致します。


※16進数では10の位という概念が存在しない気がしてなりませんが、
 5,6,7,8,9,A,B,C,D,E,Fだったら0
 10,11,12,13,14だったら1
 という意味で解釈して下さい。

回答の条件
  • 1人1回まで
  • 登録:2009/10/16 11:26:25
  • 終了:2009/10/16 14:37:51

回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/10/16 12:00:32

ポイント60pt

他に良い方法がありそうですが、とりあえず。

Sub test()
    If IsNumeric(Range("B1").Value) And Range("B1").Value >= 10 Then
        Range("C1").Value = Range("A1").Value
    Else
        Range("C1").Value = Hex(Val("&H" & Range("A1").Value) + 1)
    End If
End Sub
id:miku1973

ありがとうございました!!

上手くできました。

いつもありがとうございます。

2009/10/16 14:37:34
id:van-dine No.2

van-dine回答回数108ベストアンサー獲得回数112009/10/16 13:47:34

ポイント10pt
CInt("&H" & Range("A1").Value) + Int(CInt("&H" & Range("B1").Value) / 16)

A1(B1)の内容が数値であれ、文字列であれ、正常に動作します。

回答とは関係ありませんが、16進数をはじめ、n進数(nは任意の整数)には

位の概念は存在しますし、小数の概念も存在します。

  • id:nasi-goreng
    AとかBとかは文字列ではなく数字なのですか?
    EXCEL上で数字として認識されているのでしょうか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません