excel - 重播宏更改选项卡颜色时下标超出范围

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

最佳答案

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

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

关于excel - 重播宏更改选项卡颜色时下标超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25683096/

相关文章:

vba - 在 Excel 2013 中删除相对选择范围内的图片

sql - 使用 Cursor 在 SQL Server 中插入表

vba - 单个 For 语句下的多个期间

database - 如何实现图片库的颜色搜索?

c++ - 控制台中文本的异常颜色

vba - 从工作簿 1 的单元格中的数据宏到 "Save as"工作簿 2

excel - 如何在不破坏对象的情况下停止 VBA 宏

sql - 从一个巨大的封闭工作簿中抓取和过滤超过 255 列

excel - vba 简单范围/对象错误

c++ - vim 使用户定义类型的颜色与 C++ 中的基本类型相同