none
VBA Excel -- Demora para salvar dados inseridos. RRS feed

  • Discussão Geral

  • Isto mesmo. Esta é a segunda vez que recorro a este fórum p/ obter ajuda para resolver isto. Na 1º vez foi sugerido reduzir o nº de formulários. Acateie a idéia e fui ajudado pelo colega Felipe, obtendo sucesso total. De cerca de 24 formulários, reduzi p/ apenas 6, inclusive o código ficou muito mais "limpo". Porém, leva cerca de 5 segundos p/ salvar a pasta de trabalho após injetar um único dado na planilha. Tentei "carregar" uma outra pasta de trabalho contendo somente a planilha DADOS, com sucesso, mas na hora de salvar retorna erro.

    Eis o link para baixar o arquivo completo: 

    http://www.sendspace.com/file/1hix46

    Se puderem me ajudar a reduzir o tempo para salvar a pata de trabalho após introduzir dados agradeço.

    Edison

    terça-feira, 5 de fevereiro de 2013 19:53

Todas as Respostas

  • Olá,

    O projeto é muito grande. Poderia descrever passo a passo um exemplo de quando você obtém esse problema, para que eu possa reproduzir e analisar?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 5 de fevereiro de 2013 20:26
    Moderador
  • Olá Felipe, Se você baixar o arquivo verificará que ao introduzir um único valor em qualquer célula já é suficiente p/ gastar 5 segundos salvando tudo. Mesmo que não entre dados na planilha isso acontece.

    Abra o projeto e clique em Obra Mundial, agora salve sem introduzir nada e observe o problema. É esse.

    Edison

    terça-feira, 5 de fevereiro de 2013 22:00
  • Não entendi muito bem por que a pasta de trabalho demora muito tempo para salvar, considerando que, embora há muito código, seja bem leve. Tentei recriá-la do zero, copiando apenas módulos e formulários, mas ganhei muito pouco tempo.

    O que eu faria: ao invés de salvar toda vez que se fechar o formulário, por que não salvar apenas quando se fecha a pasta de trabalho, ou seja, ao se sair do formulário (menu) principal?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 6 de fevereiro de 2013 23:04
    Moderador
  • OK felipe, sua proposta também pode ser colocada em prática, porém, gostaria de compreender a razão desse prolema.

    Copiei a planilha DADOS somente, e introduzi valores diretamente nas células. Salva sem delay. Já na pasta de trabalho completa acontace o problema.

    Uma solução que considerei paliativa, foi separar a planilha Dados da pasta que contém os formulários. Isto funciona muito bem na versão anterior com os 24 forms, salva imediato -- sem delay, mas ao aplicá-la neste projeto retorna erro.

    Veja que tem o módulo1 p/ abrir a planilha oriunda de outra pasta mas que na verdade é uma cópia da planilha Dados, assim eu deveria salvar os dados inseridos nessa planilha:

    Option Explicit

    Public Wb As Workbook
    ''Public J As Workbook
    Sub Abrir()
    Set Wb = Workbooks.Open("C:\Planilha_Separada\Dados.xls")
    ''Set J = ThisWorkbook
    End Sub

    Na pasta de trabalho que contém os form's:

    Private Sub Workbook_Open()

    ''Call Abrir

    FrmInicial.Show
    End Sub

    Até consigo abrir a planilha Dados.xls e executar inserção de valores na plan. mas na hora de salvar ... Erro de nome repetido encontrado : wb.

    O que fiz de errado?

    Edison

    segunda-feira, 11 de fevereiro de 2013 20:18
  • Não tem mais sugestões portano sigo a sugestão do colega Felipe p/ encerrar este tópico.

    Mas continuo a procurar uma solução.

    Edison

    segunda-feira, 25 de fevereiro de 2013 21:20
  • Olá Edison,

    Desculpe a demora. Eu não sei o motivo da sua pasta de trabalho demorar para salvar. Ela é pequena e estou estranhando esse fato. Se eu descobrir algo a respeito, voltarei a postar neste tópico.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 25 de fevereiro de 2013 23:14
    Moderador
  • Obrigado Felipe . Isto só acontece quando estão juntas a planilha e os formulários.

    Separando-os e injetando dados somente na planilha o problema não existe.

    Grato por toda ajuda.

    Edison

    terça-feira, 26 de fevereiro de 2013 13:30
  • Bom dia pessoal, este problema já aconteceu comigo antes.

    No meu caso havia uma 'Workbook' com cerca de 20 planilhas e uns 15 'userforms' aproximadamente. Ela tinha cerca de 2,2200kb de tamanho em disco, e certa vez, ela passou de 2,200kb para "11,2Mb" e apartir daí começou a demorar quase 40 segundos para salvar e encerrar.

    Neste caso o problema estava em uma das planilhas que eu formatei com tabelas e  bordas e plano de fundo até a última linha lá pelas "146000000". Ao excluir esta planilha ele voltava ao normal.

    Não sei se foi apenas coincidências mas funcionava...

    Até.

    segunda-feira, 28 de outubro de 2013 14:03