我希望找到一个Excel VBA,它将遍历工作簿中的所有工作表并按以下顺序更改工作表颜色。
3、5、6、12、3、5、6、12、3、5、6、12等重复图案直到纸张用完。
下面的代码可以将它们更改为随机颜色,但是我需要上面的图案。
Sub sbColorAllSheetTab()
'Declaration
Dim iCntr, sht
'This will hold the colorIndex number
iCntr = 2
'looping throgh the all the sheets of the workbook
For Each sht In ThisWorkbook.Worksheets
iCntr = iCntr + 1
'Applying the colors to Sheet tabs
sht.Tab.ColorIndex = iCntr
Next
End Sub
任何帮助将是巨大的! ty!
最佳答案
试试这个:
Sub sbColorAllSheetTab()
Dim iCntr, sht, arrColors, numColors
arrColors = Array(3, 5, 6, 12) '<< array of color indexes
iCntr = 0
numColors = UBound(arrColors) + 1 '<< how many colors?
For Each sht In ThisWorkbook.Worksheets
sht.Tab.ColorIndex = arrColors((iCntr Mod 4)) '<< use Mod to cycle color
iCntr = iCntr + 1
Next
End Sub