- ベストアンサー
[エクセル]ドロップダウンリストから他シートを参照
- みんなの回答 (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)
>ドロップダウンリストから他シートを参照 : >他シートを呼び出すようにしたいです。シートのフォーマットは同じ。 各シートの同じ位置のセルの値をとってくればいいという意味でしょうか。 D4に =IF($A4="","",INDIRECT($A4&"!RC",FALSE)) 右にコピー、下にコピー などのようにしておけばOKです。
- kybo
- ベストアンサー率53% (349/647)
>リストで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