none
Não há recursos suficientes do sistema para exibir tudo - 2 RRS feed

  • Pergunta

  • Pessoal,

    Estou criando um novo post sobre este assunto pois não sei se meu problema tem a ver com o do usuário "depoisteconto".

    Tenho uma planilha que criei no excel 2003 bastante complexa que utiliza vários formulários (caixas de listagem, check boxes, botões e etc...) para filtrar e trabalhar dados de um banco de dados da própria planilha. Esta planilha funciona perfeitamente no excel 2003 em uma máquina bastante simples. Recentemente comprei uma máquina de ponta (Intel core i7 8GB de Ram 750GB HD windows 7 premium 64bits) com office 2010 64bits instalado.

    Quando abro a planilha no excel 2010 tenho o mesmo problema da mensagem de memória. Todas as funções da planilha funcionam normalmente mas a mensagem continua aparecendo toda vez que ela é utilizada no excel 2010.

    Após pesquisar muito na internet percebi que este é um problema bastante discutido. Em um dos fóruns que li um usuário resolveu o problema da mensagem deletando os objetos de formulários. Fiz este teste na minha planilha e realmente deletando os formulários a mensagem some. Agora estou procurando uma solução para resolver o problema sem ter que deletar os formulários pois eles são a interface do usuário para executar e filtrar os dados dos programas.

    Será que o problema está na conversão da planilha criada no excel 2003 para o excel 2010? (tanto no modo de compatibilidade quanto salvando a mesma para o formato XLSM a mensagem continua)

    Ou será que a nova tecnologia de formulários e objetos do excel 2010 é mesmo ineficiente no que diz respeito a consumo de memória?

    Espero ter uma solução para este problema pois os formulários são uma das melhores maneiras de se criar uma interface amigável e eficiente.

    Abraço,

    Tarcisio

     

    sexta-feira, 2 de dezembro de 2011 14:56

Todas as Respostas

  • Olá,

    Experimente executar os passos abaixo:

    1 - Faça um backup da sua Pasta de Trabalho;

    2 - Exporte o formulário como um arquivo;

    3 - Abra no Bloco de Notas o arquivo .frm exportado;

    4 - Copie o código VBA do seu formulário (do VBE do Excel) na parte onde começa o código do seu formulário no Bloco de Notas. Salve esse arquivo;

    5 - Apague o formulário do seu projeto VBA;
    7 - Importe o arquivo .frm que você exportou anteriormente
    Verifique se o problema persiste.

     


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    segunda-feira, 5 de dezembro de 2011 15:43
    Moderador
  • Fiz o teste na minha pasta de trabalho e não funcionou.

    Item 4. Eu copiei todo o código do meu formulário (na pasta de trabalho) e substitui o código que estava aberto no bloco de notas.

    Item 7. Esse arquivo não sofreu nenhuma alteração. O formulário aberto no bloco de notas, quando foi salvo ficou em txt. Então, entre outras, importei o mesmo formulário (sem alterações).

    Acho que fiz alguma coisa errado.

    At

    terça-feira, 6 de dezembro de 2011 13:46
  • Benzadeus,

    Obrigado pela resposta. Na realidade esta planilha não tem formulários no VBA. Eu criei diretamente na planilha em exibir - barra de ferramentas - formulários do excel 2003.

    Posso tentar abrir uma planilha nova e criar os formulários do zero no 2010 mas vai tomar um bom tempo pois são muitos objetos....Isso vai me responder se o problema é na conversão dos objetos de formulário do 2003 para o 2010. Se o problema continuar só me resta entender que os novos objetos do office 2010 são mesmo menos eficientes que o 2003 em termos de consumo de memória...

    Obrigado novamente pela atenção.

    Abraço,

    Tarcisio

    terça-feira, 6 de dezembro de 2011 18:53
  • O Office 64 bits teve mudanças significativas em relação ao 32 bits. O Office 64 bits está disponível apenas para o Office 2010. Existe também o Office 2010 32 bits.

    Claro que o Office 64 bits tem suas vantagens, mas uma das desvantagens está no fato de ele não aceitar uma série de controles de 32 bits, como, por exemplo, o controle de calendário.

    O que vou escrever agora é apenas um achismo: imagino que, como esses controles foram criados numa versão 32 bits, por algum motivo o Office 64 bits está com dificuldade de reconhecer. Pode ser também que, pelo fato dos objetos terem sido criados na versão 2003, o 2007/2010 estão com dificuldades de reconhecer.

    Em relação a copiar os objetos, experimente algumas coisas antes, como, por exemplo, selecionar uma grande região da Planilha, copiar, e colar numa nova Pasta de Trabalho. Após fazer isso, cole também os formatos e as larguras de coluna. Salve e verifique se a Pasta de Trabalho abre nas versões 2003 e 2010.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    terça-feira, 6 de dezembro de 2011 19:55
    Moderador
  • Curioso é que apesar do erro, aonde no excel que está as configurações de consumo de memória? Ou não é no excel?

    Eu uso formulário feito no VBA (excel 2007). Os problemas sempre ocorrem quando acionado um combobox. As opções do combobox estão em uma planilha. Pensei em colocá-las no Access já que o meu banco de dados está no Access. Ou então, colocar na propriedade RowSource.

    Não tentei, será que funciona? Alguma outra dica?

    At

    terça-feira, 6 de dezembro de 2011 20:21
  • No seu caso, poste o código que está utilizando para popular o ComboBox.

    Provavelmente, você está fazendo uma conexão ADO ou DAO à um banco via VBA, certo?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    terça-feira, 6 de dezembro de 2011 23:11
    Moderador
  • Não uso código para popular os combobox's. Eles são preenchidos nas propriedade do Combobox RowSource.

    Os itens dos combobox's estão listados em uma planilha da mesma pasta de trabalho.

    Certo. Estou fazendo conexão ADO para banco Access.

    At

    quarta-feira, 7 de dezembro de 2011 10:30
  • O que está escrito na RowSource, exatamente? Você está qualificando o intervalo com o nome da Planlha tmabém?
    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    quarta-feira, 7 de dezembro de 2011 13:37
    Moderador
  • Não fiz essa qualificação. Na propriedade RowSource digito apenas: Ex =Nomes

    At

    quarta-feira, 7 de dezembro de 2011 19:55
  • Esse nome é um nome definido?
    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    quarta-feira, 7 de dezembro de 2011 21:04
    Moderador
  • Defino naquele Gerenciador de Nomes.

    At

    sexta-feira, 9 de dezembro de 2011 10:41
  • Só pra constar: O problema é carregar os combobox através dos dados vindos da planilha. Quando tirei todas as referencias de nomes, a mensagem desapareceu. Óbvio que preciso ter as opções nos combobox, senão não faz sentido usá-los. Minha alternativa será carregá-los através do banco de dados access. Dessa forma, não utilizarei a planilha pra mais nada, apenas o formulário do VBA.

    Agora...fica ainda no ar a explicação do erro; Esse continua sendo um mistério.

    Obrigado pela ajuda Benzadeus.

    At

     

     


    • Editado Depoisteconto segunda-feira, 19 de dezembro de 2011 10:57
    segunda-feira, 19 de dezembro de 2011 10:57
  • No momento não consigo pensar em nenhum motivo por você estar obtendo esse erro. Posso tentar descobrir se você disponibilizar sua Pasta de Trabalho. Mesmo se não conseguir, forneço uma forma alternativa de adicionar itens num ComboBox.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    segunda-feira, 19 de dezembro de 2011 13:40
    Moderador