O erro esta nesta linha qdo vc carrega a variavel xlw nesta linha
Set xlw = xl.Workbooks.Open(ThisWorkbook.Path & "2016 - JANEIRO.xlsm")
sua referencia é a planilha janeiro, e assim ela causa o erro qdo vc tenta selecionar a planilha ela causa erro.
Sendo assim troque a linha acima por esta
Set xlw = xl.Workbooks.Open(ThisWorkbook.Path & "2016 - FEVEREIRO.xlsm")
Seu codigo completo fica assim
Sub teste()
'
Dim xl As New Excel.Application
Dim xlw As Excel.Workbook
'
Sheets("Desenv").Visible = True
Sheets("Desenv").Select
Call Desproteger
'
Range("H3:M6000").Select
Selection.ClearContents
Range("H2").Select
'
xLin_aux = 2
'
xLin = 2
xCol = 1
'
Data_Ini = Sheets("Balanço").Cells(3, 1).Value
'
Set xlw = xl.Workbooks.Open(ThisWorkbook.Path & "2016 - FEVEREIRO.xlsm")
' ThisWorkbook.Sheets("Desenv").Unprotect "v"
' ThisWorkbook.Sheets("Desenv").Visible = xlSheetVisible
'
xlw.Sheets("Desenv").Select
'
Do While xLin < 6001
xLin = xLin + 1
Data_Cel = xlw.Application.Cells(xLin, xCol).Value
xTipo_Operacao = xlw.Application.Cells(xLin, xCol + 1).Value
xValor = xlw.Application.Cells(xLin, xCol + 2).Value
xBandeira = xlw.Application.Cells(xLin, xCol + 3).Value
xParcela = xlw.Application.Cells(xLin, xCol + 4).Value
'
Cells(xLin_aux, 1).Select
'
If xTipo_Operacao <> Empty Then
If Data_Cel >= Data_Ini Then
xLin_aux = xLin_aux + 1
Cells(xLin_aux, xCol + 7).Value = Data_Cel
Cells(xLin_aux, xCol + 8).Value = xTipo_Operacao
Cells(xLin_aux, xCol + 9).Value = xValor
Cells(xLin_aux, xCol + 10).Value = xBandeira
Cells(xLin_aux, xCol + 11).Value = xParcela
End If
Else
xLin = 6001
End If
Loop
'
xlw.Close False
Set xlw = Nothing
Set xl = Nothing
'
Call Proteger
Sheets("FLUXO").Select
Range("B1").Select
Range("A2").Select
Sheets("Desenv").Visible = False
'
End Sub
.....
Marcelo Prudencio
Microsoft Excel Brasil no Facebook
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Postado : 31/01/2016 6:02 pm