「vba 最後のワークシートの名前記入」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
「最後のワークシート」というのが何を意味しているのかハッキリしませんが、一番右・右端のワークシートのことでしょうか。
最後のワークシート・右端のワークシート名を取得するサンプルマクロ
一番右・右端のワークシートの名前を取得するサンプルマクロをご紹介しておきます。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ステートメントを使うと、以下のように書くこともできます。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
- Newer:Excelインストール直後の環境設定を行うマクロ
- Older:フィールドコードの日付を全角で表示する
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAで最後のワークシート・右端のワークシート名を取得する