[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B5:B30")) Is Nothing Then Exit Sub
Dim sComm As String
With Target
Select Case .Value
Case "nb", "b"
sComm = InputBox("Ввод причины:", "Ввод причины", "Прогул")
If Len(sComm) > 0 Then
.ClearComments
.AddComment sComm
End If
Case Empty
.ClearComments
Exit Sub
Case Else
.ClearComments
.ClearContents
MsgBox "Информация", 0 Or 64, "Заголовок"
End Select
End With
End Sub
[/vba]
немного опоздал