Questão de Noções de Informática — Excel 2019 — FCC 2025
Noções de Informática›Excel 2019
Código
fc149430
Banca
FCC
Órgão
SEFAZ PI
Ano
2025
Cargo
AFFE ( )
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, é:
Acriar uma macro que localize as colunas "Receita" e "Custos" na linha 1, mas dependa de sua ordem fixa (exemplo: "Receita" sempre antes de "Custos").
Badicionar uma validação manual toda vez que a planilha for atualizada, para garantir que "Receita" e "Custos" estejam na posição esperada.
Cconverter a planilha em uma tabela estruturada do Excel e criar a macro referenciando diretamente os nomes das colunas "Receita" e "Custos" dessa tabela.
Dcontar com a memória de versões anteriores do Excel para tentar localizar as colunas desejadas, mesmo que tenham mudado de lugar.
Egravar 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.
Revelar gabarito e comentário▾
GabaritoC — converter a planilha em uma tabela estruturada do Excel e criar a macro referenciando diretamente os nomes das colunas "Receita" e "Custos" dessa tabela.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Tabelas estruturadas e macros no Excel
Gabarito: letra C. A forma mais robusta de criar uma macro que continue funcionando mesmo quando as colunas "Receita" e "Custos" mudam de posição é converter a planilha em uma tabela estruturada do Excel e referenciar as colunas pelos seus nomes (ex.: Tabela1[Receita]), em vez de usar referências fixas como C2 e D2. Isso garante que a macro localize as colunas pelo cabeçalho, independentemente da ordem ou da presença de outras colunas ao redor.
O problema central da questão é a robustez das referências em uma macro. Quando você grava uma macro usando o gravador de macros do Excel, ele registra as referências de células exatamente como você as selecionou (por exemplo, Range("C2")). Se a planilha for alterada — colunas adicionadas, removidas ou reordenadas — essas referências fixas apontarão para as células erradas, e o cálculo do lucro ficará incorreto. A solução é usar referências estruturadas, que são um recurso das tabelas do Excel (criadas com o atalho Ctrl+T ou pela guia Inserir → Tabela).
Quando você converte um intervalo em tabela, o Excel atribui um nome à tabela (ex.: Tabela1) e cada coluna passa a ser referenciada pelo seu cabeçalho (ex.: Tabela1[Receita]). Essas referências são dinâmicas: se você adicionar ou remover linhas, a tabela se expande ou se contrai automaticamente; se você mover a coluna "Receita" para outra posição, a referência Tabela1[Receita] continua apontando para a coluna correta, porque ela é identificada pelo nome, não pela posição. Isso é exatamente o que o analista precisa: uma macro que calcule =Tabela1[Receita] - Tabela1[Custos] para todas as linhas, sem se preocupar com a ordem das colunas.
Vamos comparar as alternativas para entender por que a letra C é a única que resolve o problema de forma confiável:
Critério
Alternativa C (tabela estruturada)
Alternativa A (localizar por ordem)
Alternativa E (referências fixas)
Identificação das colunas
Pelo nome do cabeçalho
Pela posição (ordem)
Pela célula (ex.: C2)
Funciona se colunas mudarem de posição?
Sim
Não (depende da ordem fixa)
Não (aponta para a célula errada)
Funciona se colunas forem adicionadas/removidas?
Sim
Não
Não
Exemplo de referência
Tabela1[Receita]
Range("C1") e Range("D1")
Range("C2") e Range("D2")
A pegadinha da banca está em confundir localizar a coluna pelo nome (que é o que a tabela estruturada faz) com localizar pela posição (que é o que a alternativa A propõe). A alternativa A até tenta "localizar" as colunas, mas ainda depende de uma ordem fixa — se "Custos" vier antes de "Receita", a macro falha. A alternativa C, por outro lado, usa o nome da coluna como identificador, o que é imune a mudanças de ordem.
Na prática, o analista criaria a tabela selecionando o intervalo de dados (incluindo a linha de cabeçalho) e pressionando Ctrl+T. Depois, na macro, usaria uma fórmula como =Tabela1[Receita] - Tabela1[Custos] ou, em VBA, algo como Range("Tabela1[Receita]"). Isso garante que, mesmo que a equipe adicione uma coluna "Despesas" entre "Receita" e "Custos", ou inverta a ordem das colunas, a macro continue calculando o lucro corretamente.
Guarde o critério decisivo: referência por nome (tabela estruturada) é robusta; referência por posição ou célula é frágil. É exatamente essa distinção que separa a alternativa correta das demais.
Referências em macros
1Frágeis
Por célula (C2, D2)
Por posição (ordem fixa)
2Robustas
Tabela estruturada
Por nome (Tabela1[Receita])
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A alternativa A propõe localizar as colunas "Receita" e "Custos" na linha 1, mas depende da ordem fixa ("Receita" sempre antes de "Custos"). Isso não resolve o problema, pois o enunciado afirma que as colunas "podem mudar de posição". Se a ordem for invertida, a macro falhará. A localização por nome é o caminho, mas a dependência da ordem torna a solução frágil.
Alternativa B — ❌ Incorreta
A alternativa B sugere uma validação manual toda vez que a planilha for atualizada. Isso não é uma automação confiável: depende de intervenção humana, sujeita a erros e esquecimentos. O objetivo da macro é justamente automatizar o cálculo sem necessidade de ajustes manuais constantes.
Alternativa C — ✅ Correta ⟵ GABARITO
A alternativa C é a correta: converter a planilha em uma tabela estruturada e criar a macro referenciando diretamente os nomes das colunas dessa tabela. As referências estruturadas (ex.: Tabela1[Receita]) são dinâmicas e identificam as colunas pelo cabeçalho, não pela posição. Assim, mesmo que as colunas mudem de lugar ou outras sejam adicionadas/removidas, a macro continua funcionando corretamente.
Alternativa D — ❌ Incorreta
A alternativa D fala em "contar com a memória de versões anteriores do Excel" para localizar as colunas. Isso não é um recurso real do Excel — não existe "memória de versões anteriores" que rastreie colunas movidas. É uma solução fictícia e sem fundamento técnico.
Alternativa E — ❌ Incorreta
A alternativa E propõe gravar uma macro usando referências fixas de células (C2 e D2). Isso é exatamente o que o gravador de macros faz por padrão, mas é frágil: se as colunas mudarem de posição, C2 e D2 apontarão para células erradas, e o cálculo do lucro ficará incorreto. O enunciado deixa claro que as colunas podem mudar, então essa abordagem não é confiável.
Gabarito: letra C — a tabela estruturada com referências por nome é a solução robusta para macros que precisam sobreviver a mudanças na disposição das colunas.