Substitua o codigo que esta no modulo1 pelo abaixo e veja se atende:
Public Sub importa_dados()
'Declaração das Variaveis
Dim Arquivo As String, sFix As String, tStr As String, nLarq As String
'Dim data As Date
Dim sPac As Worksheet, sControle As Worksheet
Dim lastRow As Long
'Atribui valor Controle
Set sControle = ThisWorkbook.Worksheets("Controle")
'Procurar a primeira célula vazia na coluna "B"
lastRow = sControle.Cells(Cells.Rows.Count, "B").End(xlUp).Row + 1
'Solicita o arquivo a ser importado
Arquivo = Application.GetOpenFilename("(*.xls*), *.xls*")
Workbooks.Open Filename:=Arquivo
'atribui valor Pac
Set sPac = Workbooks(ActiveWorkbook.Name).Sheets("Pac")
'Congela a tela
Application.ScreenUpdating = False
'Salva valores de Pac na sheet controle
sControle.Cells(lastRow, 2) = sPac.Range("M7").Value
sControle.Cells(lastRow, 3) = sPac.Range("AJ7").Value
sControle.Cells(lastRow, 4) = sPac.Range("M9").Value
sControle.Cells(lastRow, 5) = sPac.Range("M11").Value
sControle.Cells(lastRow, 6) = sPac.Range("BG11").Value
sControle.Cells(lastRow, 7) = sPac.Range("BG9").Value
sControle.Cells(lastRow, 8) = sPac.Range("BX11").Value
sControle.Cells(lastRow, 9) = sPac.Range("A14").Value
sControle.Cells(lastRow, 10) = sPac.Range("A22").Value
sControle.Cells(lastRow, 11) = sPac.Range("AS22").Value
'Obtem o novo nome do arquivo Pac
tStr = Left(Arquivo, Len(Arquivo) - Len(ActiveWorkbook.Name))
sFix = Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - (InStr(1, ActiveWorkbook.Name, ".", 1) - 1))
nLarq = "PAC_" & sPac.Range("M9").Value & "_" & lastRow & sFix
'fecha o arquivo pac
ActiveWorkbook.Close
'Renomeia o arquivo Pac
Name Arquivo As tStr & nLarq
'Seta foco na PLANILHA MENU
ThisWorkbook.Worksheets("Menu").Activate
'Libera a tela
Application.ScreenUpdating = True
MsgBox ("Pac importado com sucesso!")
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 23/07/2012 1:12 pm