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

おはようございます。
EXCELで、シート名をセルに表示させたいのですが、
該当のセルをダブルクリックしないと、シート名が反映されません。セルには直前のシート名が表示されます。

=AI6・・・シート名を表示させるセルで、この例では
3-41が表示される。
以下は、シート名の取得の関数です。
=CELL("filename")
=LEFT(AI3,FIND("[",AI3)-1)
=MID(AI3,FIND("[",AI3)+1,FIND("]",AI3)-FIND("[",AI3)-1)
=RIGHT(AI3,LEN(AI3)-FIND("]",AI3))

\\Server_pc\data\総務部\17年度\[17年度P.3.xls]3-41
\\Server_pc\data\総務部\17年度\17年度P.3.xls
3-41

A 回答 (4件)

ぼくは、以下の関数を使用していますけどね。



=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)
    • good
    • 0
この回答へのお礼

おはようございます。
この方法だと軽い感じがします。
ありがとうございます。

お礼日時:2005/11/26 09:45

>該当のセルをダブルクリックしないと、シート名が反映されません。


>セルには直前のシート名が表示されます。

ツール → オプション → 計算方法 
で「手動」にチェックが入っているとか・・・

もしその場合「自動」にチェックを入れればリアルタイムに計算するようになります

そうでなかったらごめんなさい
    • good
    • 0
この回答へのお礼

おはようございます。
ツール → オプション → 計算方法は、自動に入っています。

お礼日時:2005/11/26 09:44

空いたセルに、何か簡単な関数を入れてみて、計算結果がすぐでないようなら、#2でおっしゃている、自動計算になっていないケースでないですか。

シート名表示の関数は長く、難しいですが、それが関連しているかどうか、切り分けるのが、原因究明のコツです。
(人間は何か悪いことが起こると、最近やった、極くたまにしかしない事象が原因と思いやすいですね。)
    • good
    • 0

こんにちは。



計算方法が自動に入っていても、「\\Server_pc\data\」では、即座に反応しませんね。

シートはブックの中で取れるように、ユーザー定義関数を作ったらいかがでしょうか?
ただ、仮にそうしても、現在のCELL関数と同様に、関数の性質が、「揮発性」ですから、開いてから、そのロケーションの情報を取って表示しています。ですから、終了時に、何もしなくても、変更があったということで、保存を求められることになります。ただ、ダブルクリックなどしなくても良くなるだけ、ということです。

'-------------------------------------
作成方法:

Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、Alt + Q で、画面を閉じてください。

Function SheetName(Optional セル As Range)
  Dim r As Range
  If セル Is Nothing Then
   If TypeName(Application.Caller) = "Range" Then
     Set r = Application.Caller
     Else
     Exit Function
   End If
   Else
   Set r = セル
  End If
  SheetName = r.Parent.Name
End Function

'--------------------------------------
注意: なお、これは、Public ステートメントをつけても、グローバル化(Globalization)はしません。みなさん、Public キーワードと、混同される方がおおいので、一応、載せておきます。

使い方:

シート上で、

=sheetname()
と入力すれば、アクティブシート

=sheetname(Sheet3!A1)
と入力すれば、Sheet3 と表示されるはずです。
    • good
    • 0
この回答へのお礼

おはようございます。
理由(原因)は理解できるようになりました。
マクロの考え方もすごく役立ちました。
ありがとうございました。

お礼日時:2005/11/27 06:39

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