Andrea F,
A sugestao do Mauro Coutinho seria a mais coerente.
Entretanto, se eu entendi direito, voce criou as funcoes exatamente para fltrar o que esta repetido, de acordo com a tua necesidade.
Se for isso mesmo, seguem minhas sugestoes:
Function ConcatenarComplexo(NotaFiscal As Range) As String
Dim i As Long
Dim j As Long
Dim UltimaLinha As Long
Dim Valor As String
Dim Valor2 As String
Dim nao_repetidos() As String
UltimaLinha = Sheets("BASE").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If UltimaLinha < 2 Then UltimaLinha = 2
j = 1
For i = 2 To UltimaLinha
If Sheets("BASE").Range("A" & i).Value = NotaFiscal.Value Then
Valor2 = Sheets("BASE").Range("B" & i).Value
If j = 1 Then
ReDim Preserve nao_repetidos(1 To j)
nao_repetidos(j) = Valor2
j = j + 1
Valor = Valor2 & " "
Else
If IsError(Application.Match(Valor2, nao_repetidos, False)) Then
ReDim Preserve nao_repetidos(1 To j)
nao_repetidos(j) = Valor2
j = j + 1
Valor = Valor & Valor2 & " "
End If
End If
End If
Next
ConcatenarComplexo = Valor
End Function
Function ConcatenarComplexoMigo(NotaFiscal As Range) As String
Dim i As Long
Dim UltimaLinha As Long
Dim Valor As String
UltimaLinha = Sheets("BASE").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If UltimaLinha < 2 Then UltimaLinha = 2
For i = 2 To UltimaLinha
If Sheets("BASE").Range("A" & i).Value = NotaFiscal.Value Then
Valor = Valor & Sheets("BASE").Range("C" & i).Value & " "
Exit For
End If
Next
ConcatenarComplexoMigo = Valor
End Function
Abs.
Espero ter ajudado.
Todos que ajudaram ou tentaram ajudar estão com boa vontade fazendo isso de graça.
Por isso, seja educado, ajude-os a te ajudar, e sempre clique na mãozinha para agradecer.
Postado : 14/05/2016 9:32 pm