質問: エクセル vba エクセル vba sheet上にコマンドボタンをクリックさせたら 電卓表示させるにはどのように記述をしたら良いですか? (1)勿論、vbaで電卓作成したいのですが...何か良いサイトはありますか?それか 作り方を教えて欲しいです。 (2)ツール⇒すべてのプログラム⇒アクセサリ⇒電卓 で表示できますよね!それをコマンドボタンクリックで 表示させるには、どのように記述したら良いですか? すいません教えてください!
回答: セルを使用した電卓のサンプル 本当はuserform使用したものが良いのだとは思いますが 説明が長くなりそうなのでカンベンしてね 準備 セルに下記のように半角で入力してください a b c d e 1 7 8 9 / 2 4 5 6 * 3 1 2 3 - 4 0 . = + c セルe1とe3の書式を文字列にしておいて下さい シートモジュールへ下記のマクロをコピペしてください '簡単な電卓 private sub worksheet_selectionchange(byval target as range) 'a1~e4以外は処理をしない if intersect(target, range("a1:e4")) is nothing then exit sub if not intersect(target, range("a1:b4,c1:c3")) is nothing then '数字及び小数点が選択された時の処理 if range("e2").value = "" then '演算子が選択されていない時の処理 range("e1").value = range("e1").value & target.value else '演算子が選択されている時の処理 range("e3").value = range("e3").value & target.value end if elseif target.address = "$c$4" then 'イコールが選択された時の処理 range("e1").value = evaluate(range("e1").value & range("e2").value & range("e3").value) range("e2:e3").clearcontents elseif target.address = "$e$4" then 'クリアが選択された時の処理 range("e1:e3").clearcontents else '演算子が選択された時の処理 if range("e2").value <> "" then range("e1").value = evaluate(range("e1").value & range("e2").value & range("e3").value) range("e2:e3").clearcontents end if range("e2").value = target.value end if range("a5").select end sub