[[20071127131855]] 『シート名の取得』(BB) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シート名の取得』(BB)

お世話になります。20数名の氏名がそれぞれのシートのタブに書かれています。それをそれぞれのシートのセルに記入したいのですが、自動的にシート名を取得し、それをセルに記入する関数はあるでしょうか。よろしくお願いします。


[[20061211173554]]に関連ログがた〜くさんあります。(くみりん)

 衝突〜。マクロの場合です。

 名前を入力するセルのアドレスはご自身で変更して下さい。
 下記を標準モジュールに貼り付けてください。

 Sub macro()
     Dim ws As Worksheet
     For Each ws In Worksheets
         ws.Range("A1") = ws.Name 'A1 を該当セルに変更して下さい
     Next
 End Sub

 (1or8)

 リンク先はたくさんあるみたいですね!
 探すと大変そうなので、というか今ちょっと暇なので ^^ヾ

 式だとこんな感じ?
 =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"),1))

 (1or8)

 標準モジュールへ

 Public Const myAdd As String = "A1"

 Sub test()
 Dim ws As Worksheet
 For Each ws In Worksheets
     ws.Range(myAdd).Formula = "=SheetName()"
 Next
 End Sub

 Function SheetName() As String
    Application.Volatile
    SheetName = ActiveSheet.Name
 End Function

 ThisWorkbookモジュールへ

 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     Sh.Calculate
 End Sub
 (seiya)

(1or8)さん、(seiya)さん、ありがとうございます。
二つ目の関数を試してみましたが、下記のような記述が出て、シート名が取得されていないようです。
#VALUE!
できればマクロではなく、関数で処理したいと思うのですが、どうすればよいでしょうか。


 そのファイルはまだ保存していませんよね?
 一度保存しないとCELL関数は機能しません。
 (ROUGE)

(1or8)さん、(seiya)さん、(ROUGE)さん、ありがとうございました。
過去ログを検索して、=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
を入力して解決しました。
助かりました。ありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.