Questão FC543903
Um Analista financeiro mantém uma planilha Excel para calcular o lucro mensal, definido como a diferença entre "Receita" e "Custos", para várias filiais. Embora a planilha seja atu
Suítes de Escritório
FCC · 2025
Um Analista financeiro mantém uma planilha Excel para calcular o lucro mensal, definido como a diferença entre "Receita" e "Custos", para várias filiais. Embora a planilha seja atualizada semanalmente por outra equipe, as colunas "Receita" e "Custos" mantêm esses nomes de forma consistente, mas podem mudar de posição ou ter outras colunas adicionadas/removidas ao redor. O Analista precisa criar uma macro para automatizar o cálculo do lucro em 10.000 linhas, de forma que ela continue funcionando corretamente mesmo após essas mudanças na disposição das colunas. Em condições ideais, a forma mais adequada de criar essa macro para que as referências às colunas "Receita" e "Custos" não sejam perdidas ou fiquem incorretas, garantindo um cálculo confiável do lucro, é:
- criar uma macro que localize as colunas "Receita" e "Custos" na linha 1, mas dependa de sua ordem fixa (exemplo: "Receita" sempre antes de "Custos").
- adicionar uma validação manual toda vez que a planilha for atualizada, para garantir que "Receita" e "Custos" estejam na posição esperada.
- converter a planilha em uma tabela estruturada do Excel e criar a macro referenciando diretamente os nomes das colunas "Receita" e "Custos" dessa tabela.
- contar com a memória de versões anteriores do Excel para tentar localizar as colunas desejadas, mesmo que tenham mudado de lugar.
- gravar uma macro simples que use apenas as referências de células "C2" (Receita) e "D2" (Custos) para o cálculo, confiando de que as colunas não se moverão.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Converter a planilha em uma tabela estruturada do Excel garante que cada coluna tenha um nome lógico associado ao seu cabeçalho, permitindo referenciar os dados independentemente da posição física. Assim, o cálculo do lucro fica semanticamente claro: \(Lucro = Receita - Custos\), aplicado por linha usando os nomes das colunas.
Na macro, trabalhe com o objeto da tabela (ListObject) e as ListColumns pelo nome, por exemplo em VBA: Table.ListColumns("Receita").DataBodyRange e Table.ListColumns("Custos").DataBodyRange. Também é possível inserir fórmulas estruturadas como \(Lucro = [Receita] - [Custos]\) que se propagam automaticamente na tabela.
Essa abordagem torna a automação robusta e manutenível, suportando reordenações e alterações de colunas sem quebrar as referências, ideal para grandes volumes de linhas.
Conteúdo do catálogo FC Concursos · Atualizado em