none
Buscar dados em outra planilha sem ter que abri-la. RRS feed

  • Pergunta

  • Tenho em um diretório VENDEDORES mais de 100 pastas de trabalho idênticas nomeadas com o nome de cada vendedor (João da Silva.xlsx; Pedro de Souza.xlsx; Renata de Freitas.xlsx; etc).

    No mesmo diretório VENDEDORES tenho a pasta de trabalho VENDAS.xlsm onde realizo a apuração das vendas de cada vendedor, importando para a coluna A os valores referentes à célula F6 de cada pasta de trabalho de cada vendedor, coluna B / AQ43, coluna C / AR43 e coluna D / AS43. Nas colunas de F a P são realizados os cálculos.  

    Dado o meu pouco conhecimento em VBA, gostaria de saber se é possível criar um código para executar duas rotinas separadamente.

    1.       Criar uma SUB para ser executada manualmente para listar em VENDAS.xlsm todas as pastas de trabalho existentes no diretório VENDEDORES que atendam ao argumento “*.xlsx”, e que importe os valores das células já mencionadas acima, sem abrir essas pastas;
    2.       Uma SUB que seja executada automaticamente sempre que VENDAS.xlsm for aberta (desde que a primeira SUB já tenha sido executada), e que atualize os valores das células mencionadas acima.

    Obrigado.

    sexta-feira, 7 de março de 2014 12:06

Todas as Respostas

  • Entendi o que deseja fazer, mas se olhar as duas opções que você deu, seria impossível executar.

    "...executada automaticamente sempre que VENDAS.xlsm for aberta (desde que a primeira SUB já tenha sido executada)..."

    Como vai executar a SUB 1 manualmente antes de abrir o arquivo? Ou melhor, assim que abrir o VENDAS.xlsm vai executar a automática e só após isso poderia executar a manual, Na ordem inversa não existe possibilidade.

    Na verdade você terá somente uma sub e poderá colocar no método workbook_open a chamada dela (automática) e em um botão dentro da planilha a chamada (manual).

    Precisava saber qual o nome da planilha dentro da pasta de trabalho dos vendedores e da planilha de destino dentro de vendas.xlsm.

    Aguardando.....

    sexta-feira, 7 de março de 2014 12:28