Colegas, boa tarde.
Tenho a rotina seguinte, para importar vários arquivos, que consolido em apenas um. A quantidade chega a mais de 50.
A rotina funciona bem até a linha de fechamento do arquivo fonte "Workbooks(NomeArquivo(a)).Close", que na execução vem a mensagem de "Tipos incompatíveis". Quando mudo para apenas "Workbooks(NomeArquivo).Close", muda a mensagem para ""Subscrito fora do intervalo".
Não encontrei solução, embora me pareça algo simples, mas não tenho a experiência necessária para solucionar...
Desta forma, peço se algum colega do fórum puder, me orientar sobre como resolver essa situação.
Agradeço antecipadamente.
Public Sub ImportaPlans()
Dim Fonte, Dest As Workbook
Dim WSFonte, WSDest As Worksheet
Dim a As Integer
Dim ArqParaAbrir As Variant
Dim NomeArquivo, NomSheet As String
Set Dest = ThisWorkbook
ArqParaAbrir = Application.GetOpenFilename("Arquivo para importar (*.xls*), *.xls*", _ Title:="Escolha os Arquivos", MultiSelect:=True)
If Not IsArray(ArqParaAbrir) Then
If ArqParaAbrir = "" Or ArqParaAbrir = False Then
MsgBox "Processo abortado. Não foram selecionados Arquivos..."
Exit Sub
End If
End If
Application.ScreenUpdating = False
For a = LBound(ArqParaAbrir) To UBound(ArqParaAbrir)
NomeArquivo = ArqParaAbrir(a)
Application.Workbooks.Open (NomeArquivo)
Range("C:C").Select
Selection.Copy
Dest.Activate
With Dest
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Trim$(Mid$(NomeArquivo, 63, 15))
Columns("C").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
End With
Workbooks(NomeArquivo).Close
Application.DisplayAlerts = True
MsgBox "Processo concluído com sucesso !!..."
End Sub
Postado : 03/03/2023 3:48 pm