Alguém tem exemplo de código que faça isso?
Enviado: 23 Ago 2017 às 16:51
Olá,
Alguém tem algum exemplo de código que faça o seguinte:
-> Copia um intervalo de dados de uma planilha,
-> Abra uma nova pasta de trabalho (e não uma nova planilha) e cola esses dados e já salva e renomeia o arquivo...
Tentei fazer, mas o máximo que consegui foi copiar a planilha para uma nova pasta de trabalho... só que a planilha toda e não somente um intervalo:
Dim CurrentSheet As Worksheet
Dim Caminho As String
Caminho = ThisWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Nome na Planilha Ativa em B2
nomeB2 = CStr(ActiveSheet.Range("B11").Value)
Set CurrentSheet = ActiveSheet
On Error Resume Next
'copia todas as células da planilha ativa
CurrentSheet.Cells.Copy
'Cria a Nova PASTA (ARQUIVO)
Set Wkb = Application.Workbooks.Add
'cola somente os valores na planilha Ativa da nova Pasta,
'sem formulas e mantenndo a formatação
With ActiveSheet.Range("A1")
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlFormats
End With
Application.CutCopyMode = False
'Define os Novos Nomes - Planilha(ABA) e Pasta(Arquivo)
novoNome = TESTE
'Renomeia a planilha nova com
'o Nome que estava em B2
With ActiveSheet
.Name = novoNome
.Range("A1").Select
End With
Range("A1").Select
'Enibe a mensagem se a pasta já existir
'Com essa instrução a Pasta será substiutida sem questionamento
Application.DisplayAlerts = False
ThisWorkbook.Save
Alguém tem algum exemplo de código que faça o seguinte:
-> Copia um intervalo de dados de uma planilha,
-> Abra uma nova pasta de trabalho (e não uma nova planilha) e cola esses dados e já salva e renomeia o arquivo...
Tentei fazer, mas o máximo que consegui foi copiar a planilha para uma nova pasta de trabalho... só que a planilha toda e não somente um intervalo:
Dim CurrentSheet As Worksheet
Dim Caminho As String
Caminho = ThisWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Nome na Planilha Ativa em B2
nomeB2 = CStr(ActiveSheet.Range("B11").Value)
Set CurrentSheet = ActiveSheet
On Error Resume Next
'copia todas as células da planilha ativa
CurrentSheet.Cells.Copy
'Cria a Nova PASTA (ARQUIVO)
Set Wkb = Application.Workbooks.Add
'cola somente os valores na planilha Ativa da nova Pasta,
'sem formulas e mantenndo a formatação
With ActiveSheet.Range("A1")
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlFormats
End With
Application.CutCopyMode = False
'Define os Novos Nomes - Planilha(ABA) e Pasta(Arquivo)
novoNome = TESTE
'Renomeia a planilha nova com
'o Nome que estava em B2
With ActiveSheet
.Name = novoNome
.Range("A1").Select
End With
Range("A1").Select
'Enibe a mensagem se a pasta já existir
'Com essa instrução a Pasta será substiutida sem questionamento
Application.DisplayAlerts = False
ThisWorkbook.Save