除非激活工作表,否则格式化不起作用

时间:2013-07-24 13:16:17

标签: vba formatting runtime

下面的代码运行正常,但是如果我注释掉Worksheets(Options).Activate行,我会得到运行时错误1004.有没有人知道为什么会这样?

        Worksheets(Options).Activate
        Worksheets(Options).Range(Cells(OptCurrentRow, 1), Cells(OptCurrentRow, OptEndCol)).Font.Bold = True
        Worksheets(Options).Range(Cells(OptCurrentRow, 1), Cells(OptCurrentRow, OptEndCol)).Interior.Color = LongColor

1 个答案:

答案 0 :(得分:0)

我猜测为了将范围对象用于工作表,范围需要在活动工作表上。以下代码引用单元格,无论哪个工作表处于活动状态,都应该工作,保留原始帖子中的其他变量。

    Dim iColumnCounter As Integer

    For iColumnCounter = 1 To OptEndCol
        With Worksheets(options).Cells(OptCurrentRow, iColumnCounter)
            .Font.Bold = True
            .Interior.Color = LongColor
        End With
    Next iColumnCounter