Como copiar vários userforms no Excel?

1

Eu tenho uma pasta de trabalho do Excel com 14 userforms (cada um é para inserir um tipo de dados ligeiramente diferente). A pasta de trabalho vem se comportando de maneira estranha - o aplicativo do Excel é encerrado sempre que eu fecho um formulário. Eu gostaria de copiar todos os formulários em outra pasta de trabalho, para que eu possa ver se é uma pasta de trabalho corrompida ou se o problema está no meu código. Mas no VBE só posso copiar um formulário de cada vez. Existe uma maneira melhor de copiar vários formulários de uma só vez?

    
por sigil 29.12.2011 / 01:00

1 resposta

0

A melhor coisa que encontrei para corrigir arquivos do Excel com binários de macros corrompidos é o Limpador de código do VBA gratuito . A instalação adicionará uma opção Clean Project... ao menu VBE Tools.

  1. Abra o arquivo do problema no Excel.
  2. No VBE, selecione Tools - > %código%
  3. Selecione a pasta de trabalho que você deseja limpar e clique em OK.
  4. Quando terminar, recompile a macro e salve.

Se isso não funcionar ou você realmente quiser mover todos os módulos do arquivo Excel existente para um novo arquivo, a outra coisa que eu uso é o Ferramentas de código-fonte Addin . Se você quiser que isso esteja sempre disponível, salve-o em Clean Project... . SourceTools adiciona um barra de ferramentas para o VBE.

  1. Abra o arquivo do problema no Excel e mostre o VBE.
  2. No Explorador de Projetos, selecione o nome do projeto do arquivo com problema.
  3. Clique no ícone de disquete na barra de ferramentas do SourceTools. (Isso salvará todos os módulos em uma pasta [filename] .src. Por exemplo, C: \ Data \ Test.xlsm agora terá uma pasta C: \ Data \ Test.xlsm.src \).
  4. Crie uma nova pasta de trabalho e clique no ícone da pasta aberta na barra de ferramentas do SoruceTools.
  5. Selecione a pasta de origem que acabou de criar.
  6. Você precisará copiar manualmente qualquer código no ThisWorkbook e em qualquer módulo Sheet.
por 31.01.2012 / 22:18