使用VBA更改Excel中的选项卡颜色?

时间:2012-09-17 17:38:33

标签: excel excel-vba vba

我创建了一个创建新工作表的脚本,并在更改所述选项卡的名称之前在所述工作表中添加了一个新选项卡,我想让它成为Sheet1到Sheet4都是红色的。

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

现在上面的代码适用于各个标签,但我想知道有没有办法使用Excel VBA同时更改所有四个标签?

感谢。

2 个答案:

答案 0 :(得分:8)

尝试这样的事情:

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

注意:

我认为您可能可以将Application.Worksheets更改为wbBK2.Worksheets,但我的咖啡因运行量太低而无法记住,或者有时间进行测试。

答案 1 :(得分:3)

起初我认为使用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