Private Sub Worksheet_Calculate()
Dim DataRange As Range
Dim C As Range
Dim count As Integer
Dim o As Shape
On Error GoTo errhandler
For Each o In ActiveSheet.Shapes
If o.Name Like "InvalidData_*" Then o.Delete
Next
Set DataRange = Cells.SpecialCells(xlCellTypeAllValidation)
count = 0
For Each C In DataRange
If Not C.Validation.Value Then
Set o = ActiveSheet.Shapes.AddShape(msoShapeOval, C.Left + 1, C.Top + 1, C.Width - 3, C.Height - 3)
o.Fill.Visible = msoFalse
o.Line.ForeColor.SchemeColor = 10
o.Line.Weight = 2
count = count + 1
o.Name = "InvalidData_" & count
End If
Next
Exit Sub
errhandler:
End Sub
الكود كان يعمل فى ملف آخر
نقلته للملف الحالى
قمت بتعديل طفيف فى شكل الشهادة
أصبح الكود يعمل فى الشهادة السفلى و لا يعمل فى الشهادة العليا ولا الوسطى
مرفق شكل الشهادة كصورة
مع ملاحظة إن الأسطر اللى تحت الدوائر هيتعملها إخفاء وقت الطباعة