根据标签名称改变标签颜色excel vba
我希望能够根据标签单元格的名称更改标签颜色。 我试图让我的版本从名称列表中select以更改标签名称:
Sub SheetTabColor() Dim mySheets As Worksheets Dim mySheet As Worksheet Set mySheets = Sheets(Array("Christine", "Marina", "Roberto", "Urszula", "Lois", "Matt", "Stephanie", "Sally", "Iryna", "Katherine", "Matthew", "Julio", "Lavinia")) For Each mySheet In mySheets mySheet.Tab.Color = RGB(0, 255, 255) Next End Sub
在运行这个脚本之后,我在“Set mySheets =”行中得到一个错误
任何反馈将不胜感激,我明白,我可能不会接近。
工作表与工作表不一样。
您正试图将Worksheets
分配到Worksheets
,因此出现错误。
使用相同的types和代码工作。
Sub test() Dim mySheets As Sheets Dim mySheet As Worksheet Set mySheets = Sheets(Array("Sheet1", "Sheet2", "Sheet3")) For Each mySheet In mySheets mySheet.Tab.Color = RGB(0, 255, 255) Next End Sub
试试这个名称数组作为string,而不是工作表。
Sub SheetTabColor() Dim mySheets() As Variant Dim mySheet As Variant mySheets = Array("Christine", "Marina", "Roberto", "Urszula", "Lois", "Matt", "Stephanie", "Sally", "Iryna", "Katherine", "Matthew", "Julio", "Lavinia") For Each mySheet In mySheets ThisWorkbook.Worksheets(mySheet).Tab.Color = RGB(0, 255, 255) Next End Sub
如果数组中的任何名称未find工作表名称,则此代码将失败。
以下将跳过找不到的东西:
Sub SheetTabColor() Dim mySheets() As Variant Dim mySheet As Variant mySheets = Array("Christine", "Marina", "Roberto", "Urszula", "Lois", "Matt", "Stephanie", "Sally", "Iryna", "Katherine", "Matthew", "Julio", "Lavinia") For Each mySheet In mySheets On Error Resume Next ThisWorkbook.Worksheets(mySheet).Tab.Color = RGB(0, 255, 255) On Error GoTo 0 Next End Sub