Notifications
Clear all

Dar um Loop até o ultimo relatorio

4 Posts
2 Usuários
0 Reactions
979 Visualizações
(@jokerpot)
Posts: 0
New Member
Topic starter
 

Pessoal Boa Tarde!

Podem me ajudar com o codigo abaixo?

O mesmo abre um arquivo por vez dentro de uma pasta, no caso eu gostaria que o codigo fizesse a mesma coisa, porem em todos os arquivos que a pasta contem até o ultimo.

Sub ATUALIZAR_2()
'
' ATUALIZAR_2 Macro
'

'



    strArquivo = Application.GetOpenFilename("Arquivos de texto (*.txt),*.txt") '
    Workbooks.OpenText Filename:=strArquivo _
        , Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:= _
        Array(Array(0, 1), Array(26, 1), Array(37, 1), Array(54, 1), Array(63, 1), Array(80, 1), _
        Array(89, 1), Array(106, 1), Array(115, 1), Array(132, 1)), TrailingMinusNumbers:= _
        True
        
    nWo = ActiveWorkbook.Name 'Nome do arquivo aberto
    nSh = ActiveSheet.Name 'Nome da planilha no arquivo aberto
        
    Range("$A$180:$J$260").Select
    Selection.Copy
    Windows(ThisWorkbook.Name).Activate
    Range("$AL$50").Select
    Selection.Insert Shift:=xlDown
    Range("$AL$50").Select
    Application.CutCopyMode = False
    
    Windows(nWo).Activate
    Sheets(nSh).Select
    ActiveWindow.Close False
    Range("$f$2").Select
    
End Sub
 
Postado : 13/11/2014 1:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tu quer abrir arquivos em formato xls?

Sub SeriaIsso()

    Dim strFilename As String
    Dim strPath As String
    Dim wbkTemp As Workbook
    
    strPath = "C:MeuDiretorio"
    strFilename = Dir(strPath & "*.xls") 'extenção do arquivo
    Do While Len(strFilename) > 0
        Set wbkTemp = Workbooks.Open(strPath & strFilename)
    'faça algo.....
        wbkTemp.Close True
                
        strFilename = Dir
    Loop
   End Sub

Leia:
http://www.google.com.br/cse?cx=partner ... t%C3%B3rio
att

 
Postado : 13/11/2014 1:45 pm
(@jokerpot)
Posts: 0
New Member
Topic starter
 

alexandrevba boa tarde!

Entao brother, os arquivos que quero abrir sao todos em txt.
O codigo que enviei faz o seguinte:

Abre a pasta onde esta localizado os arquivos e me pede para selecionar 1.
Entao, ela formata o arquivo texto em Excel com o texto parametrizado em colunas.
Logo apos, ela selecionada uma parte do texto no excel, copia e cola em outro planilha e ai ela fecha o "Excel/txt".

Como na pasta existe 1 arquivo para cada dia e a macro so me deixa selecionar um arquivo por vez, eu gostaria de dar um loop (nao sei se é o termo correto) e que faça todo esse trabalho em todos os arquivos texto se estiver nessa pasta até o ultimo arquivo encontrado nessa pasta.

Testei seu codigo, porem nao consegui.

 
Postado : 13/11/2014 5:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Joker, primeiramente procure se manter sempre no mesmo tópico, com este é o 3° sobre o mesmo assunto, mesmo que não tenha conseguido ainda uma resposta nos outros, evite de abrir novos tópicos.
Acho que sua necessidade é parecida com a do tópico abaixo, ela abrira a caixa para selecionar vários arquivos em vez de um de cada vez, e seria a mesma orientação que dei de ajustar a sua rotina, uma vez que está copiando e colando os dados da planilha ativa.
De uma olhada se ajuda:

VBA Alternativas para Application.GetOpenFilename
viewtopic.php?f=10&t=13417

[]s

 
Postado : 13/11/2014 6:11 pm