Notifications
Clear all

Importar dados TXT com critérios

2 Posts
1 Usuários
0 Reactions
463 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia, senhores!

O código abaixo faz o seguinte:
Procura em um TXT o número da Matricula do funcionário e procura também o dia que ele bateu o ponto.
Ele preenche a planilha de acordo com os dados com a letra "T".

Só que este código está funcionando somente se os dados no TXT estiverem em linha.
Se o meu TXT estiver em Colunas o código não consegue encontrar.

Será possível continuar usando esse código e alterando somente a opção de ler em linhas para ler em colunas?

Public Sub LeArquivoTexto()
    Dim Arquivo As Integer
    Dim CaminhoArquivo As String
    Dim TextoArquivo As String
    Dim iLinha, iColuna As Integer
    Dim strMatricula, strData As String
 
    'Configura a leitura do arquivo
    Arquivo = FreeFile
   
    'Endereço fixo, mas uma opção seria o comando abaixo:
    CaminhoArquivo = Application.GetOpenFilename("Arquivos Textos, *.txt")
    'CaminhoArquivo = ThisWorkbook.Path & "Ponto 080316.txt"
           
    'Abre o arquivo para leitura
    Open CaminhoArquivo For Input As Arquivo
   
    'Lê o conteúdo do arquivo linha a linha
    Do While Not EOF(Arquivo)
        Line Input #Arquivo, TextoArquivo
    Loop
   
    'Fecha o arquivo
    Close Arquivo
   
    For iLinha = 3 To 10
   
        strMatricula = VBA.Format(Plan1.Cells(iLinha, 1).Value, "000000000000")
       
        For iColuna = 2 To 32
   
            strData = VBA.Replace(VBA.CDate(Plan1.Cells(2, iColuna).Value), "/", "")
       
            If TextoArquivo Like "*" & strData & "????" & strMatricula & "*" Then
                Plan1.Cells(iLinha, iColuna).Value = "T"
            End If
       
        Next iColuna
       
    Next iLinha
End Sub

Segue planilha e TXT de exemplo.

Desde já agradeço.

 
Postado : 20/04/2016 8:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!

Alguém saberia como resolver tal façanha?

Att,

 
Postado : 22/04/2016 8:39 am