こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Excel】 左のシートの特定セルを表示させたい

こんにちは。

Excelで 現在のシートのA1セルに
左隣のシートのC1セルの値を表示させる数式を教えてください。
シートの並びを変えても常に左隣のシートを参照したいのです。

シートはいくつもあり、そのすべてのシートに適用します。

Excelは2003です。
よろしくお願いいたします。

投稿日時 - 2008-04-20 13:55:18

QNo.3962170

困ってます

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

自分で提示していて何なのですが、
INDIRECT関数は、揮発性関数ですので、
ブックに変更を加えてなくてもブックを閉じるときに
「上書きしますか?」と聞いてきます。

投稿日時 - 2008-04-20 14:22:22

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

VBAでは、シートでの選択にPreviousというのが
ーー
アクティブシートの1つ前のシートを選択
 ActiveSheet.Previous.Select
これを普通では関数に取り入れられない。
ユーザー関数でやれば出来るかもしてないが
標準モジュールに
Function prsh()
Application.Volatile (True)
prsh = ActiveSheet.Previous.Name
End Function
エラー処理は省略している。
ーー
Sheet2でSheet1タブが左にあるとして
Sheet2のセルに =INDIRECT(prsh()&"!A1")
これでSheet1のA1セルの値をとってきた。
>シートの並びを変えても常・・
色々の点から考えて関数向きの課題では無いように思う。

投稿日時 - 2008-04-20 14:48:25

ANo.3

ユーザー定義関数での方法の例です。

'標準モジュール
Function mae()
mae = ActiveSheet.Previous.Name
End Function

'シート
=INDIRECT(mae()&"!C1")

投稿日時 - 2008-04-20 14:19:44

ANo.2

#1です。
先ほど提示した方法は、シート名を取得してますので、
並び替えたりシート名を変えたりしたらアウトですね。

VBAならいけると思うのですが。

投稿日時 - 2008-04-20 14:09:53

ANo.1

無理矢理です。
余りお勧めではないですが・・・。

=INDIRECT("Sheet"&SUBSTITUTE(MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,256),"Sheet","")-1&"!C1")

投稿日時 - 2008-04-20 14:04:42

あなたにオススメの質問