Página 1 de 1

A Função Len não está retornando o resultado

Enviado: 04 Set 2020 às 18:50
por BrunoLuiel
Boa tarde Pessoal!

Estou com um problema... Estou usando o While para fazer a concatenação de uma tabela dinâmica, mas verifiquei que o "Len" contagem de caracteres está informando como resultado 4 caracteres em todas as linhas, mas inclusive na linha 1 possui 6 caracteres e na linha 2 possui 14 caracteres. a macro me auxilia pois há casos que há o mesmo numero de notas para diferentes CNPJs :

Ex: No fim a concatenação da linha 2 deverá retornar "NF 101980 - CNPJ 22881858000650 - R$ 576,14"

Obs: O meu único problema é o Len que não está contando os caracteres corretamente, Inclusive refiz a tabela dinamica em outra planilha manualmente para ver se resolvia e não deu certo.


Coluna A Coluna B
101980 811,64
22881858000650 576,14
84330919000133 235,5
102418 110,47
22881858000650 110,47





Sub untill()
LF = Range("O1").End(xlDown).Row
IT = LF + 5

NF_inicia = IT + 1
CNP = IT + 2

Do Until Range("A" & NF_inicia) = ""

Do While Len("A" & NF_inicia) <> 14

Do While Len("A" & CNP) >= 14

Cells(CNP, 3) = "NF " & Cells(NF_inicia, 1) & " - CNPJ " & Cells(CNP, 1) & " - R$ " & Cells(CNP, 2)



CNP = CNP + 1
Loop

NF_inicia = NF_inicia + 1
Loop

Loop

End Sub

Re: A Função Len não está retornando o resultado

Enviado: 05 Set 2020 às 09:55
por mucascosta
Se for possível, disponibilize sua planilha...

Re: A Função Len não está retornando o resultado

Enviado: 06 Set 2020 às 12:35
por BrunoLuiel
Anexei, ocultei uma parte da planilha apenas para ficar mais "Limpo" sua análise, mas fique a vontade para mecher.

Re: A Função Len não está retornando o resultado

Enviado: 06 Set 2020 às 14:24
por osvaldomp
BrunoLuiel escreveu: Do While Len("A" & NF_inicia) <> 14

Se você quer comparar o número de caracteres contidos na célula A & NF_inicia então utilize
Do While Len(Range("A" & NF_inicia)) <> 14