Excel VBA循环遍历所有工作表并更改工作表颜色

Def*_*ick 3 excel vba excel-vba

我希望找到一个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
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒!TY!

Tim*_*ams 5

试试这个:

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
Run Code Online (Sandbox Code Playgroud)