Получите ошибку времени выполнения '91': переменная объекта или переменная блока не установлены - PullRequest
1 голос
/ 14 января 2020

Я получаю «Ошибка времени выполнения 91»: переменная объекта или переменная блока не установлена ​​», не знаю, чего мне не хватает

Sub Macro1()


 Dim Lcol As Long

     Dim WS As Worksheets

With WS

 Lcol = WS.Cells(1, WS.Columns.Count).End(xlToLeft).Column 'Define Last Col

        Range("B18:O18" & Lcol - 2).FormatConditions.Add Type:=xlExpression, Formula1:="=OR(B18>P$18)"
        Range("B18:O18" & Lcol - 2).FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Range("B18:O18" & Lcol - 2).FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        End With


End With

End Sub

Ошибка возникает при Lcol = WS.Cells(1, WS.Columns.Count).End(xlToLeft).Column 'Define Last Col

1 Ответ

1 голос
/ 14 января 2020

Вы определили ws как объект листа, а не объект листа. И ты никогда не говорил это, какой.

изменить

Dim WS As Worksheets

на

Dim WS As Worksheet
Set WS = Worksheets(1)

Это будет использовать первый лист. Измените 1 на другой индекс или укажите его по имени, например:

Set WS = Worksheets("Sheet1")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...