Excel VBA質問箱 IV

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

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


13467 / 13644 ツリー ←次へ | 前へ→

【5272】エクセルの計算について Go 03/5/1(木) 17:19 質問
【5273】Re:エクセルの計算について ぴかる 03/5/1(木) 17:29 回答
【5274】Re:エクセルの計算について Go 03/5/1(木) 17:41 発言
【5276】Re:エクセルの計算について ichinose 03/5/1(木) 17:53 回答
【5279】Re:エクセルの計算について Go 03/5/1(木) 20:02 発言
【5280】Re:エクセルの計算について Go 03/5/1(木) 20:09 お礼

【5272】エクセルの計算について
質問  Go  - 03/5/1(木) 17:19 -

引用なし
パスワード
   Hex(Str((Val("&h" & Cells(ave, 19)) + Val("&h" & Cells(ave + 21, 19))) / (cnt)))
のような16進をそのまま計算する式で
00F0 + 0101 = 00F8 ←計算するとF8のようにでてしまいます。
09E7 + 09E9 = 09E8 ←計算すると9E8のようにでてしまいます。
のように0をうまくそろえて表示したいのですが、
上記の式ではうまくいかないので
他に計算する方法があれば教えてください。

【5273】Re:エクセルの計算について
回答  ぴかる  - 03/5/1(木) 17:29 -

引用なし
パスワード
   Goさん、こんにちは。

こんなんで行けるかもしれません。かも?ですからネ!。
・対象セルを選択→セルの書式設定→表示形式→ユーザー定義→0000と入力

【5274】Re:エクセルの計算について
発言  Go  - 03/5/1(木) 17:41 -

引用なし
パスワード
   ぴかるさん
やってみたのですがうまくいかないです。

【5276】Re:エクセルの計算について
回答  ichinose  - 03/5/1(木) 17:53 -

引用なし
パスワード
   ▼Go さん:
ぴかるさん、こんにちは。

>Hex(Str((Val("&h" & Cells(ave, 19)) + Val("&h" & Cells(ave + 21, 19))) / (cnt)))
これ使っても工夫すれば出来そうですけど・・・。

分析ツールを使用してみましょう。
準備として、

 ・Excelの「ツール」--「アドイン」で
  「分析ツール」と「分析ツール-VBA」にチェック。
 ・VBEの「ツール」---「参照設定」で
  「atpusrc1.xls」をチェック。

これで準備はよしです。

コードは、
Sub test()
  Range("c1").Value = _
    dec2hex((hex2dec(Range("a1").Value) + hex2dec(Range("b1").Value)) / 3, 4)
   
End Sub

こんな感じです。
但し、セルの書式は「文字列」にして下さい。
尚、上のコードだと4桁以上の結果が出た場合、エラーになりますから、
その場合は、後もう一工夫必要ですよ。

【5279】Re:エクセルの計算について
発言  Go  - 03/5/1(木) 20:02 -

引用なし
パスワード
   ichinoseさん
やってみてなんとなくもう少しといった感じです。
というのもDebug.Printでみたものは考えたとおりの
結果が出ているのですが、セルには2桁しかでない
のですが。。。

どういうことなのでしょう?

【5280】Re:エクセルの計算について
お礼  Go  - 03/5/1(木) 20:09 -

引用なし
パスワード
   ichinoseさん
失礼しました再度試みたところ
うまくいきました。

ほんとにありがとうございました。

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