Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAで最後のワークシート・右端のワークシート名を取得する

VBAで最後のワークシート・右端のワークシート名を取得する

対象:Excel2003, Excel2007, Excel2010, Excel2013

「vba 最後のワークシートの名前記入」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

「最後のワークシート」というのが何を意味しているのかハッキリしませんが、一番右・右端のワークシートのことでしょうか。

[スポンサードリンク]

最後のワークシート・右端のワークシート名を取得するサンプルマクロ

一番右・右端のワークシートの名前を取得するサンプルマクロをご紹介しておきます。
Sub 最後のワークシート名を取得する()
 MsgBox Worksheets(Worksheets.Count).Name
End Sub

WorksheetsプロパティのIndexを指定することで、該当するWorksheetオブジェクトを取得できます。
例えば、Worksheets(1)なら一番左の、Worksheets(5)なら左から5番目のWorksheetオブジェクトが取得できます。

また、
WorksheetオブジェクトのNameプロパティでワークシートの名前を取得することができます。
例えば、Worksheets(1).Nameなら一番左のワークシート名、Worksheets(5).Nameなら左から5番目のWorksheet名を取得できます。

一方、
WorksheetsコレクションオブジェクトのCountプロパティで、ワークシートの枚数を取得できます。
Worksheets.Countで、例えば1枚のワークシートが存在しているのなら1という値が、5枚のワークシートが存在しているのなら5という値が取得できます。

これらの考え方を組み合わせたのが、
 Worksheets(Worksheets.Count).Name
というオブジェクト式です。

With文を使ってみる

先のマクロは、Withステートメントを使うと、以下のように書くこともできます。
Sub 最後のワークシート名を取得する_With()
 With Worksheets
  MsgBox .Item(.Count).Name
 End With
End Sub

WorksheetsコレクションオブジェクトのItemプロパティは、既定プロパティと同じ動きをしますので、
 Worksheets(Worksheets.Count).Name
というコードを、
 With Worksheets
  MsgBox .Item(.Count).Name
と書くこともできます。

最終更新日時:2019-04-19 15:53

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAで最後のワークシート・右端のワークシート名を取得する

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.