@Sean mencionou colocar os dados ocultos em uma planilha diferente, que foi o meu primeiro pensamento também.
Meu segundo pensamento foi ter uma macro de auto-abertura que verifica o usuário atual e oculta as colunas e ativa a proteção. Não é o mais seguro, pois o código do VBA precisará da senha, mas contorna os outros problemas. Você também pode proteger o código que reduzirá a questão da incorporação da senha.
No passado, quando eu tinha uma pasta de trabalho complexa com partes que precisavam ser ocultadas, eu tinha algumas macro em minhas personal.xls que ajudavam a bloquear / desbloquear e ocultar / mostrar as partes apropriadas.