Oi, José! Tudo bem?
Sobre a primeira dúvidas, a opção de usar VBA é por didática para aprender a mexer com outras ferramentas e, junto disso, temos a flexibilidade do VBA para criar outras funcionalidades para o seu projeto. E, às vezes, usar as fórmulas ou tabelas, ficaríamos muito limitados no quesito de versatilidade.
Continuando, o VBA [é uma linguagem de programação](Visual Basic for Applications (VBA) para o Office — uma linguagem de programação simples, mas poderosa que você pode usar para estender aplicativos do Office.) usadas nos softwares da Microsoft Office, principalmente o Excel.
Mas, também é possível usar o VBA para se comunicar com outras linguagens de programação, como Python e C#, através de APIs.
Para se aprofundar no tema, deixo aqui o link da documentação do VBA:
Espero ter ajudado com a sua dúvida.
Bons estudos, José!