人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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
という意味で解釈して下さい。

●質問者: yoshifuku
●カテゴリ:コンピュータ
✍キーワード:A1 Excel VBA セル 存在
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●60ポイント

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

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
◎質問者からの返答

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

上手くできました。

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


2 ● van-dine
●10ポイント
CInt("&H" & Range("A1").Value) + Int(CInt("&H" & Range("B1").Value) / 16)

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ