EXCELでシート名をセル参照にする方法はありますか?シート名を入力せずに、A3のようにセル参照する方法です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/12/23 17:40:53
  • 終了:2006/12/30 17:45:02

回答(3件)

id:dioathe No.1

dioathe回答回数11ベストアンサー獲得回数22006/12/23 18:05:56

ポイント27pt

使用する関数:ADDRESS と INDIRECT

例:

 Sheet1のA1にSheet2という文字列が入っているとします。

 Sheet2のA2に「参照する値」とい文字列が入っているとします。

式:

 =INDIRECT(ADDRESS(2,1,,,A1))

 これで、=Sheet2!A2 と同じ結果になります。

解説:

 =ADDRESS(2,1,,,A1) のみですと、Sheet2!$A$2という文字列になります。その後、INDIRECTを使うことにより、値を取得します。

http://yahoo.co.jp/

id:x31 No.2

x31回答回数106ベストアンサー獲得回数12006/12/23 18:14:32

ポイント27pt

http://www.relief.jp/itnote/archives/001800.php

こういうのでしょうか。

id:y3kz No.3

y3kz回答回数31ベストアンサー獲得回数92006/12/23 19:49:38

ポイント26pt

シート名には式や関数は埋め込めないと思います…。

VBAを使うしかないと思います。


とりあえず…

  • Sheet1のA1セルに何か文字列を入力すると、Sheet2の名前がその文字列に変わる。

…というふうにする場合、以下の手順になります。


1.Sheet1のシート名を右クリック。

2.「コードの表示」をクリック。

3.VBエディタが立ち上がるので、以下の式をコピペ。

Private Sub Worksheet_Change(ByVal Target As Range)
    Sheets(2).Name = Range("A1")
End Sub

4.VBエディタを閉じる。


これで、Sheet1のA1セルに何か書き込んでEnterするたびに、Sheet2の名前がその文字列に変わるはずです。


※以上の説明で、Sheet2とはシート名ではなく、ブック内のシートの番号として2番が割り当てられたものを指しています。

 (この番号はVBエディタのプロジェクトエクスプローラで確認できます。)


シートにVBAを貼り付ける方法は以下を参考にしてください(VBAの内容はまるで別ですが。)

http://hp.vector.co.jp/authors/VA016119/hajimete/event1.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません