プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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/
    • good
    • 6
この回答へのお礼

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

お礼日時:2002/10/15 17:59

お望みの動作は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"の所を変えます。
    • good
    • 2
この回答へのお礼

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

お礼日時:2002/10/15 18:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!