我录制了一个宏来执行此操作:更改工作表选项卡的颜色,然后将其设置为自动颜色。结果代码如下:
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 产生“下标超出范围”。谁能解释一下为什么吗?
最佳答案
我也遇到了同样的问题。当录制的宏实际上无法执行时,非常令人沮丧。您需要使用:xlColorIndexNone
,而不是 xlAutomatic
。 Source .
此回复可能为时已晚,对您没有用处,但以防万一其他人偶然发现具有相同问题的链接...
关于excel - 重播宏更改选项卡颜色时下标超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25683096/