Maybe something like this...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ctrl As OLEObject
If Target.Address <> "$A$4" Then Exit Sub
For Each Ctrl In Me.OLEObjects
If TypeName(Ctrl.Object) = "Label" Then Ctrl.Object.BackColor = RGB(51, 102, 255)
Next Ctrl
On Error Resume Next
Me.OLEObjects("Label" & Target.Value).Object.BackColor = RGB(151, 102, 155)
On Error GoTo 0
End Sub
You'll notice that it exits the sub if the target cell is not A4. You'll also notice that error handling has been added, in case a number is entered that doesn't correspond with one of the labels.
Hope this helps!
Bookmarks