[Excel] セルに自身のワークシート名等を表示させる

2015年7月28日

 Excel の関数でありそうでないのが、自分のブック名やシート名を表示する関数です。なぜないのか(汗 ヘッダーやフッターには表示できるのに・・・
 ということで、ワークシート名等を表示させる関数を以下にメモ。いずれも標準モジュールに作成します。

  1. 自ワークブック名を取得する

     自身のワークブック名を取得します。ポイントは Application.Volatile (*1) で、これでブック名を変更しても変更後のブック名に追従させることが可能です。
     使い方は "=ThisWorkbookName()"。 最後の "()" を省略すると、"#NAME?" になってしまうので忘れずに付けます。

    Function ThisWorkbookName() As String
        Application.Volatile
        ThisWorkbookName = Application.ThisWorkbook.Name
    End Function
    

    (*1) https://msdn.microsoft.com/ja-jp/library/office/Ff195441.aspx

  2. 自ワークシート名を取得する

     自身のワークシート名を取得します。ポイントは Application.Caller.Worksheet で、これで関数を呼び出したワークシートを特定します。
     使い方は "=ThisWorksheetName()"

    Function ThisWorksheetName() As String
        Application.Volatile
        ThisWorksheetName = Application.Caller.Worksheet.Name
    End Function
    
  3. 指定シートのワークシート名を取得する

     おまけ。指定のワークシート名を取得します。
     使い方は、"=WorksheetName(1)" など引数にシート番号を指定します。

    Function WorksheetName(index As Integer) As String
        Application.Volatile
        WorksheetName = Application.Sheets(index).Name
    End Function
    





カテゴリー: Excel, Office

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org