Olá alexzaidan!
Eu também já sinti falta de uma função nativa do Excel que faça o que você descreveu, por isso tratei de correr atrás para desenvolver uma função personalizada, que chamei de VALORESDOVETOR.
O código da função é:
Public Function VALORESDOVETOR(vArray As Variant, _
Optional lSize As Long, _
Optional sSeparator As String = ", ") As Variant
Dim v As Variant
Dim lCount As Long
Dim asOut() As String
If lSize < 0 Then
VALORESDOVETOR = CVErr(xlErrNum)
Exit Function
End If
For Each v In vArray
If v <> "" Then
lCount = lCount + 1
ReDim Preserve asOut(1 To lCount)
asOut(lCount) = v
If lCount = lSize Then Exit For
End If
Next v
VALORESDOVETOR = Join(asOut, sSeparator)
End Function
Você pode adicionar a um módulo do seu arquivo para poder usar na planilha, ou então, você pode adicionar o arquivo xlam anexo através das "Opções do Excel" -> "Suplementes", que desta forma a função vai ficar disponível em qualquer arquivo que você for trabalhar.
Explicando a função, a sintaxe é a seguinte:
VALORESDOVETOR(Intervalo desejado; quantidade de elementos do intervalo que deseja que apareça 'Opcional'; Tipo de separador 'Opcional')
- Se não preencher o segundo argumento da função que é a quantidade de elementos, a função irá trazer todos elementos do intervalo selecionado;
- Se não colocar algum separador (sempre entre aspas dupla), a função usará vírgula como padrão.
Crédito especial ao meu amigo Felipe Gualberto (www.ambienteoffice.com.br) que me deu a melhor solução na época que estava desenvolvendo esta idéia de UDF que funcionasse tanto para intervalos como para vetores calculados pelo gerenciador de nomes do Excel.
Abraços!
Postado : 13/04/2015 7:00 pm