Почему я не могу инициализировать переменную объекта Worksheets в коллекцию Worksheets?

Поэтому я понимаю, что это хорошая привычка кодирования для использования переменных объекта. Я пытаюсь создать объектную переменную 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 ответ


ActiveWorkbook.Worksheets возвращает Sheets не ActiveWorkbook.Worksheets Worksheets так что это тип, который вы должны использовать.


Есть идеи?

10000