重放宏更改选项卡颜色时,下标超出范围

时间:2014-09-05 09:50:52

标签: excel vba colors tabs subscript

我录制了一个宏来执行此操作:更改工作表标签的颜色,然后将其设置为自动颜色。结果代码如下:

Sub Makro4()
' Makro4 Makro
    With ActiveWorkbook.Sheets("GBP").Tab
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.399975585192419
    End With
    With ActiveWorkbook.Sheets("GBP").Tab
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
End Sub

当我重播它时,通过在即时窗口中编写makro4或将此代码放在工作表上的按钮上,它不起作用:

Private Sub CommandButton1_Click()
    With ActiveWorkbook.Sheets("GBP").Tab
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.399975585192419
    End With
    With ActiveWorkbook.Sheets("GBP").Tab
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    'Makro4
End Sub

.colorindex-line产生"下标超出范围"。任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。当记录的宏实际上无法执行时非常令人沮丧。而不是xlAutomatic,您需要使用:xlColorIndexNoneSource

这个回复可能为时已晚,对你没用,但万一其他人偶然发现链接遇到同样的问题......