Thanks Richard, I did not realise. Please find code below.

Private Sub Worksheet_Calculate()
   Dim rCell As Range

   Set rCell = Range("D29:AP29")
   On Error Resume Next
   rCell.Comment.Delete
   On Error GoTo 0
   If Range("D12:AP12") <> 0 And Range("D29:AP29") = 0 Then rCell.AddComment ("error")
End Sub
Keebalah, many thanks for your help, unfortunately though that comes up with nothing when a value is entered into D12 and no value into the cell itself D29.

Any other ideas?

Thanks,

Michael