На всякий случай, если это поможет - у меня не было проблем с этим макросом более года, пока я не загадочным образом проснулся этим утром и бумом, он падает со ссылкой «Ошибка времени выполнения» 91: переменная объекта или блок Not Set "(возможно, обновление для офиса?).
Эта часть моего кода ищет текущую дату в каждом рабочем листе и берет значение ячейки рядом с ней, чтобы отобразить ее в пользовательской форме (все текстовые поля - tbProg, tbPlan и tbImp)
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name = "Progress since last meeting" Then
tbProg.Text = Sh.Cells.Find(sNow).Offset(0, 1).Select
tbProg.BackColor = Sh.Cells.Find(sNow).Offset(0, 2).Interior.Color
x = x + 1
End If
If Sh.Name = "Planned before next meeting" Then
tbPlan.Text = Sh.Cells.Find(sNow).Offset(0, 1).Value
x = x + 1
End If
If Sh.Name = "Impediments" Then
tbImp.Text = Sh.Cells.Find(sNow).Offset(0, 1).Value
x = x + 1
End If
Next
Ошибка возникает на линии
tbProg.Text = Sh.Cells.Find(sNow).Offset(0, 1).Select
После небольшого количества проб и ошибок все отлично, пока я не использую
.Offset
или
.Select
или оба, или любой метод вообще.
Может кто-нибудь помочь мне найти решение этой проблемы?