아저씨

이런식으로 하면 됩니다.
Dim oEnt As AcadEntity
Dim oLayer As AcadLayer
For Each oEnt In oSel
    With oEnt
        Set oLayer = ThisDrawing.Layers(.Layer)
        If oLayer.Lock = False Then
            .Color = 1
        End If
    End With
Next
Set oLayer = Nothing

그리고..
이와 같이 코드가 간단하고
에러가 락 걸린 레이어 외에는 없는 경우처럼
에러 날 여지가 없다고 판단되면 그냥 최초 코드 그냥 사용하시고
코드 맨 처음에 On Error Resume Next 이거 하나 넣으시고
에러가 나도 그냥 무시하고 넘어가도록해도 됩니다.
On Error Resume Next가 절대 좋은 것은 아니나
한눈에 봐도 코드가 간단하고 에러날 부분이 뻔하면
에러 날 것에 대비해 코드 길게 만드느니
그냥 무시하고 넘어가도 되는쪽이 나을 수도 있습니다.