Grazie borgodiavalon.

alla fine, quasi per sbaglio, visto che cercavo un'altra cosa, ho trovato la proprietà ProtectContents per cui mi è bastato scrivere questo codice che si adatta alla mie esigenze.

codice:
if activesheet.protectContents = true then
    MsgBox "Rimuovere protezione prima di proseguire"
    exit sub
end if
l'ho messo all'inizio delle macro interessate in modo che termini la routine se questa tenta di modificare un foglio protetto, dando perciò errore

saluti

p