[英]VBA Excel change color of multiple tabs
我想做一些我认为很简单的事情,但显然并非如此。 我需要一个脚本,可以同时更改多个选项卡的颜色。 如果我使用宏记录器,它的确可以完成工作,但是它为每个单独的选项卡都制作了大量的代码块,因此我希望可以将一个数组放入其中,但是我似乎无法弄清楚。
我走了这么远才被困住:
Sub TESTCOLOR2()
Dim ArrayOne As Variant
ArrayOne = Array("800", "1000", "1100", "1200", "1300", "1400", "1500", "1600")
With ArrayOne.Tab
.ThemeColor = 65535
End With
End Sub
我收到一个错误“ Object required”,就是这样。
要使3张具有相同颜色的纸张通过数组传递,可以执行以下操作:
Public Sub MultipleTabChanger()
Dim wsToBeColored As Variant
wsToBeColored = Array("Sheets2", "Sheets4", "Sheets3") 'these are names
Dim singleWs As Variant
For Each singleWs In wsToBeColored
Worksheets(singleWs).Tab.ThemeColor = 7
Next
End Sub
您遍历数组的变量,并将它们作为参数传递给Worksheets(parameter)
。 Tab.ThemeColor
更改为所有。
要为不同的工作表设置不同的颜色 ,数组和集合(工作表是一个集合)的一个小技巧是,集合从1开始,数组从0开始。因此,我们有Worksheets(i + 1)
来避免第0次元件:
Public Sub TestMe()
Dim arrColors As Variant
arrColors = Array(12, 2, 3, 4, 5) 'these are colors
Dim i As Long
For i = LBound(arrColors) To UBound(arrColors)
Worksheets(i + 1).Tab.ThemeColor = arrColors(i)
Next i
End Sub
你会得到这个:
选项卡的颜色并不代表所有的颜色值。 数值大于13时出现错误。要获取正确的数值,请使用宏记录器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.