• ベストアンサー

[エクセル]ドロップダウンリストから他シートを参照

添付画像のように、ドロップダウンリスト(値はA~D)で選択した値によって、 他シートを呼び出すようにしたいです。シートのフォーマットは同じ。 (リストでAが選択されれば、Aの内容を呼び出し、表示する。  表示したAの内容は編集・保存できるようにしたい。) 検索しても該当する内容が見つからなかったため、質問させて頂いた次第です。 ご教授お願い致します。

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

  • ベストアンサー
  • yugere
  • ベストアンサー率37% (48/127)
回答No.3

>リストでAが選択されれば、Aの内容を呼び出し、表示する。 これだけであれば他の回答者さんのように以下の式で可能です。 =INDIRECT($A$4&"!"&ADDRESS(ROW(),COLUMN())) >表示したAの内容は編集・保存できるようにしたい。  作業表を設ければ可能と思います。 D~F列に上記関数で各シートの値を参照後、D~F列と同形状の表をG~I列、J~L列に作成  G~I列に変更をかけたい文字列を入力し、G~I列の表に入力がされている場合はG~I列を参照、そうでなければD~F列の表を参照とすれば良いです。 この場合J4に入力する数式は、 =IF(E4="",B4,E4) となり、これをJ~L列の表全体にコピーします。  

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>ドロップダウンリストから他シートを参照  : >他シートを呼び出すようにしたいです。シートのフォーマットは同じ。 各シートの同じ位置のセルの値をとってくればいいという意味でしょうか。 D4に =IF($A4="","",INDIRECT($A4&"!RC",FALSE)) 右にコピー、下にコピー などのようにしておけばOKです。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

>リストでAが選択されれば、Aの内容を呼び出し、表示する これだけであれば、INDIRECT関数で出来ます。 B4のセルに以下の様に入れ、A4:D19にコピーしてみてください。 =INDIRECT($A$4&"!"&ADDRESS(ROW(),COLUMN())) >表示したAの内容は編集・保存できるようにしたい これが必要であれば、VBAとなります。 VBAの知識がないならあきらめた方がいいかもしれません。 シートの見出しで右クリックコード表示で以下の様に貼り付け。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$4" Then Exit Sub Worksheets(Target.Value).Range("B4:D19").Copy Range("B4:D19") End Sub

関連するQ&A