Fabio,
a propriedade "cell" não existe
Sheets("Plan1").cell.Copy
existe, "cells"... se você só quer copiar o range "A1:H25" pode usar
Range("A1:H25").Copy
se você quer copiar apenas os valores, e não as fórmulas, vai ter que usar o "PasteSpecial"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Veja se isso te ajuda
Sub teste()
Dim i As String
Dim nome
Application.ScreenUpdating = False
'seleciona o relatorio e marca para copiar
Range("A1:H25").Copy
'abre o arquivo que corresponde ao determinado na Célula C8
i = Application.ActiveWorkbook.Path & "" & ThisWorkbook.Sheets("Paln1").Range("B2").Value & ".xlsx"
If Dir(i) <> "" Then
Workbooks.Open i
Sheets.Add After:=Sheets(Sheets.Count) ' Cria e Copia a seleção do arquivo relatório
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
nome = Range("H2").Value 'Pega o que está na célula H2
ActiveSheet.Name = nome ' renomeia a planilha
'fechandoo arquivo aberto e salvando
ActiveWorkbook.Saved = False
ActiveWorkbook.Close
Else
wkb = Workbooks.Add ' Cria o arquivo com o nome na mesma pasta
wkb.SaveAs Filename:=i
ActiveWorkbook.Saved = False
ActiveWorkbook.Close
End If
End Sub
Não mexi em mais nada do seu código apenas isso
Se isso te ajudou, clique no "joinha" ao lado de citar
Postado : 29/03/2017 3:06 pm