Reinaldo,
De acordo com o exemplo que você me deu eu consegui chegar numa solução bacana:
Espero conseguir explicar de forma didática:
Sub ImportaRelatorio()
Dim relatorio As String
'Delcaração da variável
Dim nomearquivo As String
'Delcaração da variável da nova janela ativa
Dim nomearquivosalvo As String
'Delcaração da variável que será o nome do arquivo a ser salvo
relatorio = Worksheets("Plan1").Range("B3").Value
'Informando que o valor da variável relatório é igual ao valor da célula B3
nomearquivo = Worksheets("Plan1").Range("B4").Value
'Informando que o valor da variável nomearquivo é igual ao valor da célula B4
nomearquivosalvo = Worksheets("Plan1").Range("B5").Value
'informando que o valor da variável nomearquivosalvo é igual ao valor da célula B5
Workbooks.OpenText Filename:=relatorio
'Importa o arquivo selecionado para um nova planilha
ActiveWindow.DisplayGridlines = False
'Linhas de grade desativada
Columns("C:C").NumberFormat = "0"
Columns("E:E").NumberFormat = "0"
Columns("F:F").NumberFormat = "0"
'Formata as colunas para que não tenha casa decimal após a vírgula
Range("A4:J4").Font.Bold = True
'Formata os cabeçalhos em negrtio
Windows(nomearquivo).Activate
ActiveWorkbook.SaveAs Filename:= _
nomearquivosalvo _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
'Salva o arquivo com o nome informado na variável e salva no destino informado na variável
Columns("H:H").AutoFit
Columns("J:J").AutoFit
'Ajusta as colunas automaticamente de acordo com o conteúdo
Range("a1").Select
'Seleciona a célula A1
ActiveWorkbook.Save
'Salva o arquivo com as últimas alterações
End Sub
Postado : 16/01/2015 3:17 pm