新しいシートを作成するスクリプトを作成し、そのシートに新しいタブを作成しました。タブの名前を変更する前に、シート 1 からシート 4 まですべて赤くしたいと考えています。
With wbBK2.Sheets(wsWS1).Tab
.Color = 255
End With
上記のコードは個々のタブで機能しますが、Excel VBA を使用して 4 つのタブすべてを同時に変更する方法はあるのでしょうか?
次のようなものを試してください。
Dim Sht As Worksheet
For Each Sht In Application.Worksheets
With Sht.Tab
.Color = 255
End With
Next Sht
ノート:
に変更できるかもしれませんがApplication.Worksheets
、wbBK2.Worksheets
カフェインが不足しているため、覚えていないか、テストする時間がありません。
最初は、このSheets(Array("Sheet1","Sheet2")).Select
方法を使用するとうまくいくと思いましたが、テスト (およびマクロ レコーダーを実行) した後、うまくいかないことがわかりました。
アップデート
ooo さん、素晴らしいコメントでした。これは、よりクリーンで読みやすい方法です。
Sub SheetTabColor()
Dim mySheets As Worksheets
Dim mySheet As Worksheet
Set mySheets = Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4"))
For Each mySheet In mySheets
mySheet.Tab.Color = 255
Next
End Sub
これが私のオリジナルでした。考え方は同じですが、方法が少し異なります:
Sub SheetTabColor()
Dim arrSheets() As String
arrSheets() = Split("Sheet1,Sheet2,Sheet3,Sheet4", ",")
Dim i As Integer
For i = LBound(arrSheets()) To UBound(arrSheets())
Sheets(arrSheets(i)).Tab.Color = 255
Next
End Sub