Como exportar todas as macros de uma pasta de trabalho para outra pasta de trabalho?
Se você precisar exportar vários códigos vba de macro de uma pasta de trabalho para outra, poderá copiá-los um por um normalmente. Mas isso vai ser demorado, neste artigo, vou falar sobre como exportar rapidamente todas as macros de uma pasta de trabalho para outra e salvar os arquivos de macro em uma pasta específica também.
Exportar todas as macros de uma pasta de trabalho para outra com código VBA
Exportar todas as macros de uma pasta de trabalho para outra com código VBA
Para exportar todos os códigos vba de macro de um arquivo Excel para outro, execute as seguintes etapas:
1. Primeiro, você deve abrir as duas pastas de trabalho ao mesmo tempo, uma contém macros, a outra é aquela para a qual você deseja exportar as macros, veja a captura de tela:
Guia Office - Abra, leia, edite e gerencie vários documentos do Office em uma única janela com guias
Office Tab permite navegação, edição e gerenciamento com guias de aplicativos do Microsoft Office. Você pode abrir vários documentos/arquivos em uma única janela com guias, como usando o navegador IE 8/9/10, Firefox e Google Chrome. Clique para baixar e teste grátis agora! |
2. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
3. Clique inserção > Módulo, e cole a macro a seguir no Módulo Janela.
Código VBA: exporte todas as macros de uma pasta de trabalho para outra:
Sub ExportAndImportModule()
Dim xStrSWSName, xSreDWSName As String
Dim xSWS, xDWS As Workbook
xStrSWSName = "old-workbook"
xSreDWSName = "new-workbook"
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
With xObjFD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
xFilePath = .SelectedItems.Item(1)
Else
Exit Sub
End If
End With
On Error GoTo Err1
Set xSWS = Workbooks(xStrSWSName & ".xlsm")
Set xDWS = Workbooks(xSreDWSName & ".xlsm")
Set xvbap = xSWS.VBProject
Set xVBC = xvbap.VBComponents
For Each Module In xSWS.VBProject.VBComponents
If Module.Type = vbext_ct_StdModule Then
Module.Export (xFilePath & "\" & Module.Name & ".bas")
xDWS.VBProject.VBComponents.Import (xFilePath & "\" & Module.Name & ".bas")
End If
Next Module
Exit Sub
Err1:
MsgBox "come to nothing!"
End Sub
Note: No código acima, “livro antigo”É o nome da pasta de trabalho da qual você deseja exportar as macros e“nova pasta de trabalho”É a pasta de trabalho para a qual você deseja importar as macros. Você deve alterar os nomes para seus próprios. Ambas as duas pastas de trabalho devem ser xlsm .
4. Depois de colar o código acima, pressione F5 chave para executar este código, e um Procurar janela for exibida, escolha uma pasta para colocar os arquivos de macro exportados, veja a captura de tela:
5. Então clique OK botão, e todas as macros foram exportadas de sua pasta de trabalho especificada para outro arquivo do Excel e os arquivos de macro foram salvos na pasta específica também. Veja a imagem:
Note: Este código só pode exportar as macros do Módulo normal.
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!