Você pode fazer a macro pedir uma senha. Contanto que o usuário não tenha os comandos para procurar a senha no próprio código do VBA, isso pode ser muito, muito fácil.
Basta usar um InputBox para solicitar a senha. Se a entrada corresponder a uma determinada string, você permitirá que a macro continue.
Você pode torná-lo mais complexo, mas ainda relativamente simples, traduzindo o texto da senha em números e executando operações matemáticas nesses números para criar um simples "hash". Então você apenas pega qualquer Input e executa as mesmas operações antes de executar a comparação.
Este link mostra como você pode usar esse método para verificar várias senhas possíveis e fazer coisas diferentes com base nelas: link
Este link mostra como substituir o texto de entrada por asteriscos como uma caixa de senha "real": link