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.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 20/04/2016 8:14 am