Referências dinâmicas a outras planilhas com Excel?
Se este post não responder a sua dúvida, por favor, deixe um comentário que eu certamente posso ajudá-lo pessoalmente.
Olá amigos,
Hoje me deparei com outra pergunta na internet e resolvi postar a resposta ao nossa amiga aqui no blog. A pergunta dele foi a seguinte:
Tenho varias planilhas de excel. Cada planilha um nome. Na planilha de controle quero deixar para o usuário escolher de qual planilha vai puxar. Exemplo:
Temos a planilha de 001 até 025. Na formula vou colocar ='C:\Teste\[001.xlsx]Plan1$A$1'
essa será a formula só que quero deixar o usuario escolher de onde ele quer puxar da 001 até a 025. Criei uma lista suspensa dando a opção mas não consigo deixar a formula principal mutável para poder escolher. Existe alguma saida?
A unica solução que achei foi mandar ele puxar todos do 001 a 025(ocultar essa planilha) e depois criar outra planilha deixando o usuario escolher e usando a formula Proc listando a primeira coluna como referencia.
Eu quero eliminar essa planilha total de intermediário para que assim não precise atualizar tudo que ele ta pedindo e apenas os numeros em questão. É claro que esses numeros serão selecionados em outro lugar.
Existe alguma saida?
quero algo tipo
='C:\Teste\[A1]Plan1$A$1'
onde eu possa escolher o arquivo final de onde vai puxar. è possivel?
Vamos usar uma simples macro em VBA?
Vá na guia Desenvolvedor (se esta guia não aparecer no seu Excel, vá em Arquivo > Opções > Personalizar Faixa de opções e marque a opção "Desenvolvedor" na segunda célula).
Em seguida clique em Visual Basic:
Na janela que se abre, de um duplo clique em sua planilha de controle:
Na janela que se abre, copie o código a seguir:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'quando usuário fizer alteração faça:
planilha = Range("A2").Text 'atribui a planilha escolhida a uma variável
Range("A1").Value = "='C:\Teste\[" & planilha & ".xlsx]Plan1'!R1C1" 'insere a variável na fórmula dinâmica
End Sub
Onde está A2 substitua pela célula da caixa suspensa, onde o usuário escolhe. Onde está A1 substitua pela célula da fórmula principal, que será dinâmica, mutável.
Feche a janela. Salve a planilha.
Toda vez que o usuário alterar a planilha de qual vai puxar, a fórmula é alterada automaticamente.
Feche a janela. Salve a planilha.
Toda vez que o usuário alterar a planilha de qual vai puxar, a fórmula é alterada automaticamente.
Não se esqueça de se increver acima ^ e receber as novidades do blog!!
Recomendo também o Curso Avançado de Excel!
Abraços
Albanir