Автор: Sellf Среда, 17 Сентября 2008, 21:14
Пишу код для отображения/скрытия примечаний:
Код
Private Sub tglRemark_Change()
If tglRemark.Value = True Then
ВидимостьПримечаний True
Else
ВидимостьПримечаний False
End If
End Sub
Sub ВидимостьПримечаний(Видимость)
For i = 2 To 7
Cells(i, 1).Comment.Visible = Видимость
Next i
End Sub
При запуске выскакивает ошибка Run-time error '91': Object variable or With block variable not set для строки
Cells(i, 1).Comment.Visible = ВидимостьКто-нибудь может подсказать причину ошибки?
Добавлено Sellf, [mergetime]1221675251[/mergetime]Я скоро с этим языком смеяться перестану. Если закрыть и снова открыть книгу с макросом, все работает и ошибка исчезает.
Автор: pashulka Среда, 17 Сентября 2008, 23:45
На самом деле ошибка может возникнуть если в момент выполнения инструкций активным окажется лист не имеющий ячеек, к примеру лист диалога, лист диаграммы или в диапазоне [A2:A7] окажется ячейка не содержащая комментария (об'ект Comment)
Код
Private Sub tglRemark_Change()
If TypeOf ActiveSheet Is Worksheet _
Then CommentVisible tglRemark.Value
End Sub
Private Sub CommentVisible(iVisible As Boolean)
For iRow& = 2 To 7
With Cells(iRow&, "A")
If Not .Comment Is Nothing _
Then .Comment.Visible = iVisible
End With
Next
End Sub