Página 1 de 1

Excluir vl repetidos de arquivo txt via vba

Enviado: 27 Out 2018 às 16:23
por Domingsp
Olá. Eu estou usando esse código para abrir um arquivo txt, PARTE1, o qual irá receber valores repetidos que se encontram numa planilha, a Plan5. Nessa planilha não posso excluir os duplicados.
O que preciso é fazer com que os valores repetidos sejam excluídos no arquivo txt e só fiquem nele os exclusivos. Qualquer ajuda é bem vinda
Código: Selecionar todos
Sub PTE1()
   Workbooks("LISTA.xlsm").Sheets("Plan5").activate 
 Ulinha =cells(Rows.Count, 27).end(xlUp).row
Open "C:\Users\Contabilidade\Documents\Loja\PARTE1. txt" for output as 1
         For m=2 to Ulinha 
                 Print #1,cells(m, 27)
         Next
   Open 1 
End sub 

Excluir vl repetidos de arquivo txt via vba

Enviado: 27 Out 2018 às 19:30
por Reinaldo
Sem testar, mas experimente:
Código: Selecionar todos
Sub PTE1()
Workbooks("LISTA.xlsm").Sheets("Plan5").Activate
Ulinha = Cells(Rows.count, 27).End(xlUp).Row
Open "C:\Users\Contabilidade\Documents\Loja\PARTE1. txt" For Output As 1
    For m = 2 To Ulinha
        If Application.WorksheetFunction.CountIf(Range(Cells(2, 27) & ":" & Cells(m, 27)), Cells(m, 27)) = 1 Then Print #1, Cells(m, 27)
    Next
Close #1
End Sub

Re: Excluir vl repetidos de arquivo txt via vba

Enviado: 27 Out 2018 às 21:50
por Domingsp
Reinaldo, obrigado, mas deu erro 1004. O metodo range do objeto global falhou . Não deve estar aceitando cells(m,27) ou cells(2, 27)

Excluir vl repetidos de arquivo txt via vba

Enviado: 28 Out 2018 às 09:41
por Reinaldo
Altere a linha conforme abaixo
Código: Selecionar todos
        If Application.WorksheetFunction.CountIf(Range("AA2:AA" & m), Range("AA" & m)) = 1 Then Print #1, Cells(m, 27)

Excluir vl repetidos de arquivo txt via vba

Enviado: 31 Out 2018 às 12:43
por Domingsp
Olá Reinaldo. Estou adaptando sua solução para minha necessidade, estou tentando excluir duplicados com o código abaixo, mas o resultado é:
0111
7777
7777
Veja que tem um valor respetido.
No momento não consigo anexar uma planilha de exemplo. Na planilha a situação é a seguinte(desconsidere as palavras CEM e JC, são apenas codigos, o loop não inclui essas palavras) :
BH2: O111
BH3:CEM
BH4:JC
BH5:JC
BI2:-
BI3:-
BI4:CEM
BI5:JC
BJ2: -
BJ3: -
BJ4: 7777
BK2: -
BK3: -
BK4: 7777
BK5: 7777

Código: Selecionar todos
Sub PTE1()
Workbooks("LISTA.xlsm").Sheets("Plan5").Activate
Open "C:\Users\Contabilidade\Documents\Loja\PARTE1.txt" For Output As 1
        If Range("BH2") <> "-" Then Print #1, Range("BH2")
    For m = 2 To 3         ' Coluna BI
       If Cells(m, 61) <> "-" And Application.WorksheetFunction.CountIf(Range("BI2:BI" & m), Range("BI" & m)) = 1 Then Print #1, Cells(m, 61)
    Next m
    For n = 2 To 4         ' Coluna  BJ
       If Cells(n, 62) <> "-" And Application.WorksheetFunction.CountIf(Range("BJ2:BJ" & n), Range("BJ" & n)) = 1 Then Print #1, Cells(n, 62)
    Next n
    For o = 2 To 5         ' Coluna  BK
       If Cells(o, 63) <> "-" And Application.WorksheetFunction.CountIf(Range("BK2:BK" & o), Range("BK" & o)) = 1 Then Print #1, Cells(o, 63)
    Next o
Close #1
End Sub

Excluir vl repetidos de arquivo txt via vba

Enviado: 31 Out 2018 às 12:47
por Domingsp
Só explicando os hífens: os valores numéricos são resultados de fórmulas. Quando não existe condição para o resultado a formula exibe um hífen.