Ir ao conteúdo

Posts recomendados

Postado

Bom dia.

 

      Tenho uma planilha com algumas guias (abas) e preciso salvar apenas uma dessas guias como um nova planilha com somente valores. Eu utilizei uma macro que encontrei no site função excel conforme abaixo. Entretanto, ela salva a guia na mesma pasta da planilha original com nome definido na própria macro. O que quero é salvar essa guia como novo arquivo com somente valores mas de forma que eu possa escolher a pasta e o nome do arquivo, informo que, além disso, a guia que quero salvar não pode ser a guia ativa, mas sim uma guia específica (ex: sheet 1). Pensei em salvar como, mas não estou conseguindo executar. Alguém pode, por favor, me ajudar com a alteração da macro original do site eunção excel abaixo para que possa escolher como e onde salvar?

Sub SalvarAba()

'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

'Permite que o Excel volte a atualizar a tela

Application.ScreenUpdating = False

'Permite que o Excel volte a exibir alertas

Application.DisplayAlerts = False

End Sub

 

  • Membro VIP
Postado

@MARCOS GERVASIO CORRÊA , boa tarde!

 

Seja bem-vindo ao fórum!

 

Experimente substituir a parte:

.SaveAs ThisWorkbook.Path & "\Novo Arquivo.xlsx"

por:

Application.Dialogs(xlDialogSaveAs).Show

Vai abrir uma caixa de dialogo Salvar, onde você pode escolher o nome do arquivo e onde deseja salvar.

 

[]s

  • Curtir 1
Postado

Prezado Amigo,

 

      Sua linha de comando funcionou muito bem e um dos problemas foi resolvido com sucesso. Obrigado.

 

      Mas a planilha salva continua com as fórmulas e necessito que sejam colados somente valores par o novo arquivo.

 

      De acordo com a sua instrução, a macro ficou assim:

Sub SalvarAba()

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Plan = "LAYOUT IMPRESSÃO"

Dim NovoWB As Workbook

Set NovoWB = Workbooks.Add(xlWBATWorksheet)

With NovoWB

ThisWorkbook.Sheets(Plan).Copy After:=.Worksheets(.Worksheets.Count)


.Worksheets(1).Delete


Application.Dialogs(xlDialogSaveAs).Show

.Close False

End With


Application.ScreenUpdating = False

Application.DisplayAlerts = False

End Sub

 

  • Membro VIP
  • Solução
Postado

@MARCOS GERVASIO CORRÊA

 

Experimente este código, simplificado e com comando para substituir as fórmulas pelos respectivos valores.

Sub SalvarPlanilhaComoNovoArquivo()
 Sheets("LAYOUT IMPRESSÃO").Copy
 With ActiveWorkbook
  With .Sheets(1).UsedRange
   .Value = .Value
  End With
   Application.Dialogs(xlDialogSaveAs).Show
   .Close False
 End With
End Sub

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!