Página 1 de 1

COPIAR ABA ATUAL E COLAR EM UMA NOVA

Enviado: 02 Jun 2022 às 14:32
por Jore
Olá pessoal,
Tenho um código VBA para criar uma cópia da aba atual e onde uma caixa irá se abrir para eu colocar um nome para esta nova aba...
Aparentemente tudo funciona, eu ponho o novo nome mas a nova aba não aparece.
Alguém pode dar uma olhadinha para ver onde esta o erro por favor!
Segue a planilha em anexo.

Desde já agradeço a todos!

Re: COPIAR ABA ATUAL E COLAR EM UMA NOVA

Enviado: 03 Jun 2022 às 16:52
por Foxtri
Olá
Veja o código:

Sub NovaPlanilhaInputbox()
Dim wshNovaPlan As Worksheet
Dim wsTag As Worksheet
Dim i As Integer
Dim nome As String

On Error Resume Next ' Sempre coloque aqui em cima essa declaração e não no meio, combinado?
' Ela significa que se tiver um erro ela passa para a próxima instrução ou macro, então coloque
'ela sempre após declarar as ' variáveis

'Define a Planilha TAG, TAG é o nome da planilha
Set wsTag = ActiveSheet
'Se quiser que abra uma planilha específica ponha:Set wsTag = Sheets("nome da planilha")

'Congela a tela
Application.ScreenUpdating = False

'Nome da nova Sheet
nome = InputBox("Qual o nome da nova planilha?", "ATENÇÃO") 'solicita o nome da nova planilha
If nome = "" Then
Exit Sub
End If

'Conta quantidade de Planilhas
i = Worksheets.Count

'Copia a Planilha atual ou uma especifica após a última aba

wsTag.Copy After:=Worksheets(i)

i = i + 1

'Declaramos a Nova Planilha e Renomeamos
Set wshNovaPlan = Worksheets(i)
With wshNovaPlan
.Name = nome
.Range("A1").Select
End With

'No caso de ter Fórmulas e quiser só os valores utilizamos as linhas abaixo
'Copia a Planilha Ativa e cola sem as formulas
With wshNovaPlan.UsedRange
.Copy
.PasteSpecial Paste:=xlValues
.Range("A1").Select
End With
Application.CutCopyMode = False

End Sub

Até
Foxtri

Re: COPIAR ABA ATUAL E COLAR EM UMA NOVA

Enviado: 06 Jun 2022 às 10:36
por Jore
@Foxtri, Muito Obrigado!! Me ajudou muito :D :D :D :D

Re: COPIAR ABA ATUAL E COLAR EM UMA NOVA

Enviado: 06 Jun 2022 às 11:07
por osvaldomp
Olá, @Jore .
#
Jore escreveu: 02 Jun 2022 às 14:32 Aparentemente tudo funciona, eu ponho o novo nome mas a nova aba não aparece.
Exclua o comando On Error Resume Next do seu código e então você vai descobrir porque "a nova planilha não aparece".
A propósito, com o propósito de ajudar e alertar, segue uma dica sobre aquele comando: pesquise e você poderá concluir que a observação que está no seu código (em verde à frente) é inconsistente e merece ser reavaliada. ~~~> "Sempre coloque aqui em cima essa declaração e não no meio, combinado? ' Ela significa que se tiver um erro ela passa para a próxima instrução ou macro, então coloque 'ela sempre após declarar as ' variáveis"