5

新しいシートを作成するスクリプトを作成し、そのシートに新しいタブを作成しました。タブの名前を変更する前に、シート 1 からシート 4 まですべて赤くしたいと考えています。

With wbBK2.Sheets(wsWS1).Tab
    .Color = 255
End With

上記のコードは個々のタブで機能しますが、Excel VBA を使用して 4 つのタブすべてを同時に変更する方法はあるのでしょうか?

4

2 に答える 2

11

次のようなものを試してください。

Dim Sht As Worksheet
For Each Sht In Application.Worksheets
    With Sht.Tab
        .Color = 255
    End With
Next Sht

ノート:

に変更できるかもしれませんがApplication.WorksheetswbBK2.Worksheetsカフェインが不足しているため、覚えていないか、テストする時間がありません。

于 2012-09-17T17:46:20.627 に答える
4

最初は、この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
于 2012-09-17T17:51:01.357 に答える