none
Código VBA RRS feed

  • Pergunta

  • estou usando em uma planilha a função copy do vba. ela copia informações de uma tabela de manutenções e cola em outra planilha, servindo de histórico. as manutenções acontecem todo mês, então com o código que tenho, todo mês quando é acionada a macro ela copia essas informações (até aí tudo bem). só que no outro mês quando aciono a macro (por um botaõ de comando) ela copia, só que por cima da outra que tinha (esse é o problema). então preciso de uma forma ou código que cole mas que de alguma forma mude sempre a linha que vai ser colada para baixo, assim as outras ficam intactas, garantindo um histórico efetivo.

    se puderem me ajudar agradeço.

    Luiz.
    sexta-feira, 4 de dezembro de 2009 12:44

Respostas

  • Luiz,

    Porque você não utiliza o Access para armazenar o histórico? Dependendo da versão do Excel existe limitação do número de linhas.

    Caso você queira fazer tudo no Excel, minha sugestão seria armazenar o número de linhas da última cópia para o histórico em alguma célula escondida da planilha e fazer com que a função VBA leia a mesma.

    Att.

    Ari C. Raimundo
    sexta-feira, 4 de dezembro de 2009 14:41

Todas as Respostas

  • Luiz,

    Porque você não utiliza o Access para armazenar o histórico? Dependendo da versão do Excel existe limitação do número de linhas.

    Caso você queira fazer tudo no Excel, minha sugestão seria armazenar o número de linhas da última cópia para o histórico em alguma célula escondida da planilha e fazer com que a função VBA leia a mesma.

    Att.

    Ari C. Raimundo
    sexta-feira, 4 de dezembro de 2009 14:41
  • Ari,

    será que você poderia me explicar melhor o que fazer nos dois casos? acho que access fica difícil já que minha empresa não trabalha com ele, mas é uma possibilidade.

    valeu Ari.

    Att,
    Luiz.
    sexta-feira, 4 de dezembro de 2009 15:16
  • Luiz,

    No caso de utilizar o Access você realiza uma conexão por meio de ADODB (ActiveX Data Objects) e realiza a inclusão em tabelas do banco de dados.

    A segunda opção é criar uma célula no Excel que contém o valor da linha a ser incluído o próximo histórico. Fica difícil explicar aqui por que envolve uma quantidade significativa de código. É relativamente simples.

    Att.

    Ari C. Raimundo
    sexta-feira, 4 de dezembro de 2009 16:56
  • Ari,

    será que você poderia me explicar melhor o que fazer nos dois casos? acho que access fica difícil já que minha empresa não trabalha com ele, mas é uma possibilidade.

    valeu Ari.

    Att,
    Luiz.
    ela ao fazer a copy deveria copiar tanto o novo como o antigo. nao importa. talvez o teu codigo esteje errado. 
    a outra solucao seria voce so copiar os novos registos, usando uma pesquisa primeiro para ver os novos registos e depois copiar na tabela historico.

    Just Be Humble Malange!
    sexta-feira, 15 de janeiro de 2010 15:25