• ベストアンサー

エクセル表中に入力条件に対応した図(jipファイル)を表示したいのですが。。。

エクセル97で保険契約の契約内容入力フォームを作ろうとしています。 指定したセルに入力された内容に対応して、数パターンのメッセージまたは図形を結果のセルに表示させたいと思っているのですが、セルへの図の表示方法が分かりません。 あるセルへの入力結果に対応して図を表示する方法が知りたいのですが。 なるべく簡単単純だとうれしいです。 (文字列の表示はIF関数を使おうと思っています) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kbonb
  • ベストアンサー率51% (254/492)
回答No.2

こんにちは  A1:A10のセル内にそれぞれ一つづつ図が入っているとします。  まずは名前定義です。 1.Ctrl+F3(メニュー[挿入]-[名前]-[定義] 3.[名前]に Pic と入力 4.[参照範囲]に=INDIRECT($G$1) と入力 5.[OK]ボタンをクリック  セルG1に A1 と入力しておきます。  続いて、図のリンク貼り付けです。 1.セルA1を選択(オートシェイプではなく、セルA1を選択)してCtrl+C(コピー) 2.セルH1を選択して、Shiftキーを押しながらメニュー[編集]-[図のリンク貼り付け] 3.数式バーに =Pic と入力  これで、セルG1に、A2 とか A3 のようにアドレスを入力してみてください。

参考URL:
http://www2.odn.ne.jp/excel/
makie
質問者

お礼

すばらしいご回答をありがとうございました! 「求めていたのはコレ!」という感じで早速やってみました。 なんとか出来上がってホッ。。。です。 ご教授ありがとうございました。

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

お望みの動作はVBAが必要です。なるべく簡単単純ということですが、簡単な例を示しますので、やるかどうかの判断材料にしてみてください。 まず準備として、 1) 表示したい図をすべてセル上に貼り付けます。貼り付け方法は、[挿入]>[図]>[ファイルから]です。 2) 次に、図に名前を付けます。図を選択して、数式バーの左横の名前ボックスに名前を書き込みます。ここでは、pic1,pic2,pic3とします。 3) 読み込んだすべての図を実際に表示したいセルの上に重ねて表示します。(重ねる順番はどうでもいいです) これで、準備が整いました。 ここでは、セルに入力された値を判断して、pic1,pic2,pic3の表示を切り替えることにします。つまり、セル"A1"に"1,2,3"と入力された場合に、それぞれ"pic1,pic2,pic3"を表示させ、それ以外の値の場合は何も表示しない、つまりセルそのものが表示されるような例です。 4) [ツール]>[マクロ]>[VisualBasicEditor] とし、立ち上がったVBエディタを起動します。 5)(デフォルトで)左側にあるプロジェクトウインドウの"Sheet1(Sheet1)"をダブルクリックします。 6) コードウインドウに下のコードをコピー&ペーストします。 '---ここから Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address <> "$A$1" Then Exit Sub With ActiveSheet   .Shapes("pic1").Visible = False   .Shapes("pic2").Visible = False   .Shapes("pic3").Visible = False   Select Case Range("A1").Value    Case 1: .Shapes("pic1").Visible = True    Case 2: .Shapes("pic2").Visible = True    Case 3: .Shapes("pic3").Visible = True   End Select End With End Sub '---ここまで 4) VisualBasicEditorを閉じます。 試しに、Sheet1のセルA1に数字を1,2,3と入れてみてください。図が変化するはずです。簡単な例でもこれくらいややこしいです。値を入れるセル(判断基準のセル)を変更する場合は、3行目の"$A$1"と、8行目の、Range("A1").Valueのところを変えればOKです。図の名前は"pic1"~"pic3"の所を変えます。

makie
質問者

お礼

ご回答ありがとうございました! 順を追って丁寧に書き込んでいただいていたので、VBA使ったことないながらも、トライしようという気持ちになりました。ただ、あまりに私自身無知な為、応用が利きそうにないので、今回は別の方法で作成してしまいましたが。。。 今後もこの作業を使うことは多い予定なので、次回につなげたいと思っています。 ありがとうございました!

関連するQ&A