ThiagoBatista Postado Dezembro 29, 2020 Denunciar Share Postado Dezembro 29, 2020 (editado) Bom dia/Boa tarde/Boa noite, Galera, eu estou com um problema com o seguinte código O código é esse: Sub Rotina() For i = 1 To Sheets.Count Sheets(i).Select Range("B1") = "DATA_VENDA" Range("C1") = "HORA_VENDA" Range("D1") = "TIPO" Range("E1") = "COD_FILI_EPHARMA" Range("F1") = "PDV" Range("G1") = "NSU" Range("H1") = "CUPOM" Range("I1") = "MATRICULA_FUNC" Range("J1") = "APAGAR" Range("K1") = "VL_VENDA" linha = 2 Do Until Cells(linha, 1) = "" If Mid(Cells(linha, 1), 1, 1) = "3" Then Else Cells(linha, 2) = Mid(Cells(linha, 1), 63, 10) Cells(linha, 3) = Mid(Cells(linha, 1), 73, 8 ) Cells(linha, 4) = Mid(Cells(linha, 1), 52, 1) Cells(linha, 5) = Mid(Cells(linha, 1), 43, 9) Cells(linha, 6) = Mid(Cells(linha, 1), 53, 4) Cells(linha, 7) = Mid(Cells(linha, 1), 137, 8 ) Cells(linha, 8 ) = Mid(Cells(linha, 1), 57, 6) Cells(linha, 9) = Mid(Cells(linha, 1), 100, 20) Cells(linha, 10) = (Mid(Cells(linha, 1), 121, 12)) Cells(linha, 11) = Cells(linha, 10) / 100 End If linha = linha + 1 Loop Next i End Sub Por algum motivo, algumas data vem erradas, o dia vira mês e o mês vira dia, que no caso seria o Cells(linha, 2) Alguém poderia me ajudar? Nesse caso da imagem o problema se dá na linha 4. Segue o conteúdo do txt: 13708AEB ALIMENTOS 21/11/202007:07:3221/10/202020/11/20204086461300019115/12/2020 00001 2056685BASICO 008002166V000615625620/11/202017:55:47233 233 P0000000070740000246134960246126130000070740000000000002 2056685BASICO 008011576V000608830114/11/202013:48:13376 376 P0000000046900000241509710241507620000046900000000000003 2056685BASICO 008002166V000815536006/11/202017:37:31233 233 P0000000015150000235453160235449940000015150000000000004 300005000000013279 00005 Editado Dezembro 29, 2020 por ThiagoBatista Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alyson Ronnan Martins Postado Janeiro 19, 2021 Denunciar Share Postado Janeiro 19, 2021 Boa noite @ThiagoBatista Eu tentei reproduzir seu código porém não consegui. Coloquei os dados na Coluna A: E repliquei seu código, gerando erro na linha marcada: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ThiagoBatista
Bom dia/Boa tarde/Boa noite,
Galera, eu estou com um problema com o seguinte código
O código é esse:
Sub Rotina()
For i = 1 To Sheets.Count
Sheets(i).Select
Range("B1") = "DATA_VENDA"
Range("C1") = "HORA_VENDA"
Range("D1") = "TIPO"
Range("E1") = "COD_FILI_EPHARMA"
Range("F1") = "PDV"
Range("G1") = "NSU"
Range("H1") = "CUPOM"
Range("I1") = "MATRICULA_FUNC"
Range("J1") = "APAGAR"
Range("K1") = "VL_VENDA"
linha = 2
Do Until Cells(linha, 1) = ""
If Mid(Cells(linha, 1), 1, 1) = "3" Then
Else
Cells(linha, 2) = Mid(Cells(linha, 1), 63, 10)
Cells(linha, 3) = Mid(Cells(linha, 1), 73, 8 )
Cells(linha, 4) = Mid(Cells(linha, 1), 52, 1)
Cells(linha, 5) = Mid(Cells(linha, 1), 43, 9)
Cells(linha, 6) = Mid(Cells(linha, 1), 53, 4)
Cells(linha, 7) = Mid(Cells(linha, 1), 137, 8 )
Cells(linha, 8 ) = Mid(Cells(linha, 1), 57, 6)
Cells(linha, 9) = Mid(Cells(linha, 1), 100, 20)
Cells(linha, 10) = (Mid(Cells(linha, 1), 121, 12))
Cells(linha, 11) = Cells(linha, 10) / 100
End If
linha = linha + 1
Loop
Next i
End Sub
Por algum motivo, algumas data vem erradas, o dia vira mês e o mês vira dia, que no caso seria o Cells(linha, 2)
Alguém poderia me ajudar?
Nesse caso da imagem o problema se dá na linha 4.
Segue o conteúdo do txt:
13708AEB ALIMENTOS 21/11/202007:07:3221/10/202020/11/20204086461300019115/12/2020 00001
2056685BASICO 008002166V000615625620/11/202017:55:47233 233 P0000000070740000246134960246126130000070740000000000002
2056685BASICO 008011576V000608830114/11/202013:48:13376 376 P0000000046900000241509710241507620000046900000000000003
2056685BASICO 008002166V000815536006/11/202017:37:31233 233 P0000000015150000235453160235449940000015150000000000004
300005000000013279 00005
Editado por ThiagoBatista
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.