- ベストアンサー
エクセルで
エクセル2003を使用しています。こういう事は 可能でしょうか?息子の教育用にエクセルでソフトを作ろうと思っているのですが、たとえばA1に「自動車」と入力ずみでA2に同じく自動車と入力すれば正解となり B列以降に自動車の画像を表示させたいのです。マクロは苦手なので出来れば関数(IF関数?)で画像の表示 非表示を操作できればと思っているのですが。皆様、ご指導お願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
http://oshiete1.goo.ne.jp/kotaeru.php3?q=376241 こちらの回答はいかがでしょうか?
その他の回答 (3)
- papayuka
- ベストアンサー率45% (1388/3066)
マクロは苦手でも覚えてしまえば非常に便利ですよ。 希望に叶う回答では無いと思いますが参考に。 1.新規にブックを開いてから Sheet1 に 挿入-図-ファイルからで適当な画像を挿入します。 2.シート名のタブを右クリックし、コードの表示を選択します。 3.VBE画面が開くのでサンプルコードをコピペします。 4.VBE画面を閉じます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells(1, 1).Address <> "$B$1" Then Exit Sub With ActiveSheet .Shapes("図 1").Visible = _ .Range("A1").Value = Target.Cells(1, 1).Value End With End Sub 5.Sheet1のA1に何か文字を入れ、B1にA1と違う文字を入れると画像が消え、同じ文字を入れると表示されるようになります。
お礼
ご返事ありがとうございます。せっかくご返事いただきましたので、後日VBAにトライいたします。ありがとうございました。
- w-inty
- ベストアンサー率33% (76/227)
再びです。 苦手とのことでしたが、一応VBAを… これの書き方は、 [ツール]-[マクロ]-[VisualBasicEditor]を開き、 左側の「プロジェクト」というところの中の、 「This Workbook」をダブルクリックし、右側のウィンドウの上側の セレクトボックスが2つ並んでいるところの右側を「worksheet_change」にして、 「Private sub…」というところと、「End Sub」の間に下記をコピーすればできます。 ※正解がA1に、解答欄がB1に、C1に正解か不正解かを表示するとした場合。 If (Target.Address = "$B$1") Then If Range("B1") = "自動車" Then Range("C1") = "正解" ActiveSheet.Shapes("図1").Visible = True Else Range("C1") = "不正解" ActiveSheet.Shapes("図1").Visible = False End If End If
お礼
再度の書き込みありがとうございます。先にいただいた解答でとりあえず完成させてから、苦手なVBAにトライ しようとおもいます。ありがとうございました。
- sai231ko
- ベストアンサー率25% (332/1325)
画像の表示は出来るかどうか分かりませんが A1とB1か同じならば正解と出す事は出来ます。 =If(A1=B1,"正解","残念")
お礼
文字はだせるんですよね。ただ幼児向けなので 画像をだせれば、子供が喜びそうなので画像で検討中なのです。
お礼
過去に似たような質問があったのですね。今、検証してみたところ、うまく動作いたしました。理屈はわからないのでこれから参考書を片手に勉強しようとおもいます。ありがとうございました。