为什么不能将Worksheets对象变量初始化为Worksheets集合?

时间:2018-11-21 10:53:57

标签: excel vba

我了解使用对象变量是一种良好的编码习惯。 我正在尝试创建一个名为wsc的对象变量,该变量将使用对活动工作簿的工作表集合的对象引用进行初始化。参见下面的代码。

我尝试将对象变量数据类型设置为工作表,但是它不起作用。 仅当我将对象变量数据类型设置为Object时,它才起作用。 这使我问-在这种情况下,是否存在除Object之外的其他数据类型?

Sub FormatAllFormulas()

    Dim ws As Worksheet
    Dim wsc As Object   ' does not work if type is Worksheets - why?

    Set wsc = ActiveWorkbook.Worksheets

    For Each ws In wsc
        With ws.Cells.SpecialCells(xlCellTypeFormulas)
            .Style = "Currency"
            .Font.Bold = True
            .Interior.Color = 4908260
        End With
    Next ws

End Sub

1 个答案:

答案 0 :(得分:2)

ActiveWorkbook.Worksheets返回Sheets而不是Worksheets,因此您应该使用这种类型。