bem, não foi a melhor solução, mas...
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace("C:CasosTemp" & hoit(el)).items
Set xl = CreateObject("Excel.Sheet")
xl.Application.Workbooks.Open "C:CasosTemp" & lod(el) & ".HTM" ' abre a tabela em HTMl no excel
Atu:
ThisWorkbook.Worksheets("Plan9").Activate
Ti = Cells(14, el + 1).Value2 '------<------<---Le coluna inicial do setor
Ci = Cells(17, el + 1).Value2 '------<------<---Le coluna inicial de dados do setor
Cq = Cells(20, el + 1).Value2 '------<------<---Le total de colunas do setor
L = Cells(Rows.Count, Ti).End(xlUp).row
tin = Cells(L, Ti).Value2 '----<----<--- pega o ultimo cod da planilha
With Workbooks(lod(el) & ".HTM").Sheets(lod(el))
lop = .Cells(Rows.Count, 1).End(xlUp).row '----<----<--- pega a ultima linha arquivo
cn = .Cells(lop, 1).Value2
If cn > tin Then
If el <> 3 Then k2 = 0 Else k2 = 17
lpg = -1
Do
lpg = lpg + 1
vi = .Cells(lop - lpg, 1).Value2
Loop Until vi = tin + 1
Ti1 = Cells(1, Ti).Column
Ci1 = Cells(1, Ci).Column
ColunO = .Range(.Cells(lop - lpg, 1), .Cells(lop, 2)).Value2
Range(Cells(L + 1, Ti1), Cells(L + 1 + lpg, Ti1 + 1)).Value2 = ColunO
ColunO = .Range(.Cells(lop - lpg, 3 + k2), .Cells(lop, 2 + Cq + k2)).Value2
Range(Cells(L + 1, Ci1), Cells(L + 1 + lpg, Ci1 + Cq - 1)).Value2 = ColunO
End If
End With
If el <> 2 Then Workbooks(lod(el) & ".HTM").Close
Next
ThisWorkbook.Worksheets(Plan_Aq).Activate
tentei tratar o arquivo com ele fechado mas não consegui
lod(el) é um array com os nomes dos arquivos na sequencia que vão ser importados
"realmente eu não sei como faço essas macros tão estranhas"
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 14/01/2015 8:57 pm