- 26 Ago 2019 às 13:54
#47358
Amigos, boa tarde.
Tenho uma pasta de trabalho com 5 planilhas. Quero salvar a planilha A, por exemplo, em uma nova pasta de trabalho. Para isso, estou usando a macro abaixo. Ela funciona bem. Ocorre que a planilha salva na nova pasta de trabalho está ficando com os vínculos das macros da planilha de origem. Queria salvar a planilha em nova pasta, mas sem os vínculos das macros. Quando acionamos a macro na nova planilha, que foi salva em nova pasta, ela abre a planilha originária para executar o código.
Sei que há possibilidade de abrir a nova planilha e, no menu dados, quebrar os vínculos, mas queria que a macro abaixo fizesse isso automaticamente. Vi em alguns grupos a recomendação para salvar com a extensão .xlsx, mas não funcionou. Obrigado pela ajuda.
Sub SalvarAba()
'Essa macro salva a planilha ativa como uma nova pasta
'Impede que o Excel atualize a tela
Application.ScreenUpdating = False
'Impede que o Excel exiba alertas
Application.DisplayAlerts = False
'Seta uma variável para se referir a nova pasta de trabalho
Dim NovoWB As Workbook
'Cria esta nova aba
Set NovoWB = Workbooks.Add(xlWBATWorksheet)
With NovoWB
'Copia a aba atual para o novo arquivo, como a segunda aba
ThisWorkbook.ActiveSheet.Copy After:=.Worksheets(.Worksheets.Count)
'Deleta a primeira aba do arquivo criado (Aba em branco)
.Worksheets(1).Delete
'Salva o novo arquivo para a mesma pasta do arquivo atual
'Troque "Novo Arquivo" para um outro nome qualquer que preferir
'.SaveAs ThisWorkbook.Path & "\Novo Arquivo.xlsx"
'Fecha o novo arquivo
'.Close False
End With
Application.Dialogs(xlDialogSaveAs).Show
'Application.Dialogs(xlDialogclose).Show
closed = True
'Permite que o Excel volte a atualizar a tela
Application.ScreenUpdating = True
'Permite que o Excel volte a exibir alertas
Application.DisplayAlerts = True
End Sub
Tenho uma pasta de trabalho com 5 planilhas. Quero salvar a planilha A, por exemplo, em uma nova pasta de trabalho. Para isso, estou usando a macro abaixo. Ela funciona bem. Ocorre que a planilha salva na nova pasta de trabalho está ficando com os vínculos das macros da planilha de origem. Queria salvar a planilha em nova pasta, mas sem os vínculos das macros. Quando acionamos a macro na nova planilha, que foi salva em nova pasta, ela abre a planilha originária para executar o código.
Sei que há possibilidade de abrir a nova planilha e, no menu dados, quebrar os vínculos, mas queria que a macro abaixo fizesse isso automaticamente. Vi em alguns grupos a recomendação para salvar com a extensão .xlsx, mas não funcionou. Obrigado pela ajuda.
Sub SalvarAba()
'Essa macro salva a planilha ativa como uma nova pasta
'Impede que o Excel atualize a tela
Application.ScreenUpdating = False
'Impede que o Excel exiba alertas
Application.DisplayAlerts = False
'Seta uma variável para se referir a nova pasta de trabalho
Dim NovoWB As Workbook
'Cria esta nova aba
Set NovoWB = Workbooks.Add(xlWBATWorksheet)
With NovoWB
'Copia a aba atual para o novo arquivo, como a segunda aba
ThisWorkbook.ActiveSheet.Copy After:=.Worksheets(.Worksheets.Count)
'Deleta a primeira aba do arquivo criado (Aba em branco)
.Worksheets(1).Delete
'Salva o novo arquivo para a mesma pasta do arquivo atual
'Troque "Novo Arquivo" para um outro nome qualquer que preferir
'.SaveAs ThisWorkbook.Path & "\Novo Arquivo.xlsx"
'Fecha o novo arquivo
'.Close False
End With
Application.Dialogs(xlDialogSaveAs).Show
'Application.Dialogs(xlDialogclose).Show
closed = True
'Permite que o Excel volte a atualizar a tela
Application.ScreenUpdating = True
'Permite que o Excel volte a exibir alertas
Application.DisplayAlerts = True
End Sub