我创建了一个脚本,该脚本创建了一个新工作表,并在所述工作表中创建了一个新选项卡,在更改所述选项卡的名称之前,我想让它使 Sheet1 到 Sheet4 都是红色的。
With wbBK2.Sheets(wsWS1).Tab
.Color = 255
End With
现在上面的代码适用于单个选项卡,但我想知道有没有办法使用 Excel VBA 同时更改所有四个选项卡?
尝试这样的事情:
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
方法会起作用,但在测试(并运行宏记录器)之后,我发现它没有。
更新
哦,评论很棒。这是更清洁,更易于阅读的方式:
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