Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 隣のシートのシート名を取得するExcelマクロ

隣のシートのシート名を取得するExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

「マクロ 隣のシート シート名 取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

隣のシートのシート名を取得するVBA(Visual Basic for Applications)のコードを探している方による検索です。

[スポンサードリンク]

参考になりそうなマクロをご紹介しておきましょう。


Sub 左隣のシート名をアクティブセルに入力する()

 If Not ActiveSheet.Previous Is Nothing Then
  If TypeName(ActiveSheet) = "Worksheet" Then
   ActiveCell.Value = ActiveSheet.Previous.Name
  End If
 End If

End Sub

ChartオブジェクトやWorksheetオブジェクトのPreviousプロパティで、左隣のシートが取得できます。
そのNameプロパティでシート名が取得できます。

実質的には
   ActiveCell.Value = ActiveSheet.Previous.Name
の部分だけでいいのですが、一番左のシートがアクティブなときに、ActiveSheet.Previousを取得しようとするとエラーとなってしまうので、それを避けるために
 If Not ActiveSheet.Previous Is Nothing Then
としています。

また、アクティブセルに書き込みをするマクロですから、グラフシートがアクティブなときに
   ActiveCell.Value = ActiveSheet.Previous.Name
とするとエラーとなってしまうので、それを避けるために
  If TypeName(ActiveSheet) = "Worksheet" Then
としています。

左隣ではなく右隣のシート名を取得したいときは以下のとおりです。


Sub 右隣のシート名をアクティブセルに入力する()

 If Not ActiveSheet.Next Is Nothing Then
  If TypeName(ActiveSheet) = "Worksheet" Then
   ActiveCell.Value = ActiveSheet.Next.Name
  End If
 End If

End Sub

左隣のときとほとんど同じですが、Previousプロパティの代わりにNextプロパティを利用しています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 隣のシートのシート名を取得するExcelマクロ

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 隣のシートのシート名を取得するExcelマクロ

「Sheets・Worksheet」の記事一覧

検索


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

.