Con Excel (che non espone livelli di accesso) la vedo durissima a meno di non proporre accrocchi terribili mescolando password e VBA magari leggendo il nome utente... ma tieni conto che:
1) le protezioni di fogli e cartelle: non servono a niente
2) le password di Excel in apertura/lettura: servono come il precedente punto 1
3) bloccare/sbloccare celle o colonne e affidarsi alla protezione di Excel: vedi punti 1 e 2
4) impostare una procedura legata al nome utente o nome macchina e poi proteggere il progetto con password: vedi punti 1 e 2
5) qualunque macro si può disabilitare e allora ti saluto la protezione: vedi punti 1, 2 e 4
Tenendo premuto Shift mentre si avvia un file disabilita in automatico le macro: poi aprire il progetto è facile.
Tieni conto anche che comunque non esiste un "utonto" così avveduto da non commettere casini impuri col tuo file nonostante avvisi, protezioni o fogli di istruzioni.
Volendo comunque provare, io mi affiderei al controllo del nome utente (ci sono routine già fatte che usano API per ottenere il nome utente, oppure sfrutti la corrispondente variabile di Environ) e poi intercetterei ogni cambiamento di foglio o cella per verificare, basandomi su una opportuna e ben nascosta tabella dei permessi, chi può fare cosa. Eventualmente inibendo la modifica dei dati ai non autorizzati.
Comunque basta un mimimo di esperienza per svellere tutto in pochi minuti.
Considera anche che nei file condivisi non si modificano le macro quindi se trovi dei bug devi prima togliere la condivisione, perdendo la registrazione delle modifiche.
Hai pensato ad Access?