2014-09-05 47 views
2

我记录了一个宏:更改工作表选项卡的颜色,然后将其设置为自动颜色。生成的代码是这样的:当重放宏改变标签颜色时,下标超出范围

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行会产生“下标超出范围”。谁能解释为什么?

+1

它不应该是'xlColorIndexAutomatic'代替'xlAutomatic'? – 2014-09-05 10:47:14

+0

感谢您的回复。它由Excel记录。两个变量都保持相同的值:-4105 – MNor 2014-09-05 12:15:56

回答

2

我遇到了同样的问题。录制的宏不能真正执行时非常令人沮丧。而不是xlAutomatic,您需要使用:xlColorIndexNoneSource

这可能反应来不及对你有用,但只是在对面同样的问题的链接情况下别人绊...