Ir para conteúdo
Fórum Script Brasil
  • 0

Função que retorna array


andersonrich

Pergunta

Gostaria que a função abaixo retornasse todos os resultados encontrados. Cada resultado em uma célula diferente. Obrigado.

 

Function BuscaVertical(intervalo As Range, palavra As String) As Variant


Dim c As Object
Dim a
Dim posicao As Long

posicao = 0

For Each c In intervalo.Cells

If palavra = c.Value Then

a(posicao) = palavra

posicao = posicao + 1
End If


Next c


BuscaVertical = a
End Function

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde @andersonrich

Como não tenho uma base de dados para testar meu código olha se esse código resolveu o que precisa:
 

Function BuscaVertical(intervalo As Range, palavra As String) As Variant
    Dim c As Object
    Dim a() As Variant
    Dim posicao As Long

    posicao = 0

    ' Redimensiona o array para garantir espaço suficiente
    ReDim a(1 To 1)

    For Each c In intervalo.Cells
        If palavra = c.Value Then
            ' Redimensiona o array para armazenar o novo valor encontrado
            posicao = posicao + 1
            ReDim Preserve a(1 To posicao)
            a(posicao) = palavra
        End If
    Next c

    BuscaVertical = a
End Function

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...