【ExcelVBA】全ワークシート名を表示
目次
自ブックの場合
全ワークシート名を表示
Sub Sample() Dim WS As Worksheet For Each WS In ThisWorkbook.Worksheets Debug.Print WS.Name Next End Sub※実行結果はイミディエイト画面に表示されます。
全ワークシートの名前とタブ色をセルに書き込む
Sub Sample() Dim WS As Worksheet With ThisWorkbook.Worksheets("Sheet1") '.Cells.Clear 'Sheet1内を全クリア .Cells(1, 1) = "ワークシート" .Cells(1, 2) = "WS.Tab.ColorIndex" .Cells(1, 3) = "WS.Tab.Color" End With For Each WS In ThisWorkbook.Worksheets With ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0) = WS.Name .Offset(1, 0).Interior.Color = IIf(WS.Tab.ColorIndex >= 0, WS.Tab.Color, xlNone) .Offset(1, 1) = WS.Tab.ColorIndex .Offset(1, 2) = WS.Tab.Color End With Next End Sub※4行目のコメントアウトを解除すると、書き込みは上書きモードになります。
※15行目で三項演算子(iif関数)を使用しています。
iif( 比較判定 , 真の時の処理 , 偽の時の処理 )
iif( WS.Tab.ColorIndex >= 0 , WS.Tab.Color , xlNone)
WS.Tab.ColorIndex の、色付TABの戻り値は 正数 のため、真判定です。WS.Tab.Color の値を Interior.Color に代入します。
WS.Tab.ColorIndex の、色無TABの戻り値は -4142 のため、偽判定です。 XlNone を Interior.Color に代入します。
結果例
※Sheet1 はタブが選択されてて分かりづらいですが、色無TABです。
他ブックの場合
他ブックの全ワークシート名を表示
Sub Samplee() Dim TargetWB As String Dim WS As Worksheet TargetWB = "Book2.xlsx" For Each WS In Workbooks(TargetWB).Worksheets Debug.Print WS.Name Next End Sub※6行目を目的のブック名に書き換えてください。
※実行結果はイミディエイト画面に表示されます。
他ブックの全ワークシートの名前とタブ色をセルに書き込む
Sub Sample() Dim TargetWB As String Dim WS As Worksheet TargetWB = "Book2.xlsx" With ThisWorkbook.Worksheets("Sheet1") '.Cells.Clear 'Sheet1内を全クリア .Cells(1, 1) = "ワークシート" .Cells(1, 2) = "WS.Tab.ColorIndex" .Cells(1, 3) = "WS.Tab.Color" End With For Each WS In Workbooks(TargetWB).Worksheets With ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0) = WS.Name .Offset(1, 0).Interior.Color = IIf(WS.Tab.ColorIndex >= 0, WS.Tab.Color, xlNone) .Offset(1, 1) = WS.Tab.ColorIndex .Offset(1, 2) = WS.Tab.Color End With Next End Sub※6行目を目的のブック名に書き換えてください。
※9行目のコメントアウトを解除すると、書き込みは上書きモードになります。
※18行目で三項演算子(iif関数)を使用しています。
iif( 比較判定 , 真の時の処理 , 偽の時の処理 )
iif( WS.Tab.ColorIndex >= 0 , WS.Tab.Color , xlNone)
WS.Tab.ColorIndex の、色付TABの戻り値は 正数 のため、真判定です。WS.Tab.Color の値を Interior.Color に代入します。
WS.Tab.ColorIndex の、色無TABの戻り値は -4142 のため、偽判定です。 XlNone を Interior.Color に代入します。
結果例
ディスカッション
コメント一覧
まだ、コメントがありません