【问题标题】:Subscript out of range when replaying macro changing tab color重播宏更改选项卡颜色时下标超出范围
【发布时间】:2014-10-30 05:49:57
【问题描述】:

我录制了一个宏:更改工作表标签的颜色,然后将其设置为自动颜色。结果代码是这样的:

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

【问题讨论】:

  • 不应该是xlColorIndexAutomatic而不是xlAutomatic吗?
  • 感谢您的回复。它是由 Excel 记录的。两个变量的值相同:-4105

标签: excel vba colors tabs subscript


【解决方案1】:

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

此回复可能为时已晚,对您没有用处,但以防万一其他人偶然发现链接有同样的问题...

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多