Página 1 de 1
Lista suspensa dinâmica - dados de 2 colunas - RESOLVIDO
Enviado: 28 Jan 2021 às 14:51
por JCabral
Boa tarde
Precisava da seguinte ajuda, tenho uma serie de dados em duas colunas, "A" e "B" e precisava de colocar na coluna "E" uma lista suspensa, que fosse dinâmica ou seja sempre que acrescentar dados em A e B a lista é atualizada, e que os dados da Lista fosse a concatenação dos dados da coluna A e B;
NOTA IMPORTANTE: Gostaria que isto fosse feito sem o recurso a colunas auxiliares
Anexo exemplo de dados aleatórios nas colunas A e B e mostro na Coluna F como gostaria que me aparecessem os dados na LISTA.
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 28 Jan 2021 às 20:47
por lcbispo
Ola, veja a planilha em anexo
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 28 Jan 2021 às 23:02
por JCabral
Obrigado pela sua solução, mas queria que a solução não tivesse colunas auxiliares, é possível?
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 03 Fev 2021 às 17:10
por JCabral
Alguma ajuda?
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 03 Fev 2021 às 17:45
por osvaldomp
Salve, Jorge.
Me parece que não é possível no Excel aplicar múltiplas colunas na formação da lista suspensa (Validação de Dados).
Sem utilizar coluna auxiliar então só resta uma solução via macro. Retorne se essa for uma solução aceitável e se precisar de ajuda.
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 03 Fev 2021 às 23:23
por JCabral
Caro Osvaldo
Obrigado, pode ser via macro
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 04 Fev 2021 às 11:27
por osvaldomp
Olá, Jorge.
Instale uma cópia do código abaixo no módulo da planilha
Folha1.
Código: Selecionar todosPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A(), VD(), r As Long, x As Long
If Intersect(Target, [E2:E100]) Is Nothing Then Exit Sub
A = Range("A2", Cells(Rows.Count, "B").End(3))
For r = 1 To UBound(A)
ReDim Preserve VD(x)
VD(x) = A(r, 1) & " - " & A(r, 2): x = x + 1
Next
Target.Validation.Delete
Target.Validation.Add Type:=xlValidateList, Formula1:=Join(VD, ",")
End Sub
#
funcionamento - ao selecionar uma célula no intervalo E2:E100 (altere no código se desejar), o código irá reaplicar a Validação de Dados na célula selecionada, com base na lista atualizada de A2:B até a última linha de B.
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 04 Fev 2021 às 12:12
por JCabral
TOP!!!
Muito obrigado, Osvaldo
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 04 Fev 2021 às 12:22
por Kledison
osvaldomp escreveu: ↑04 Fev 2021 às 11:27
Olá, Jorge.
Instale uma cópia do código abaixo no módulo da planilha Folha1.
Código: Selecionar todosPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A(), VD(), r As Long, x As Long
If Intersect(Target, [E2:E100]) Is Nothing Then Exit Sub
A = Range("A2", Cells(Rows.Count, "B").End(3))
For r = 1 To UBound(A)
ReDim Preserve VD(x)
VD(x) = A(r, 1) & " - " & A(r, 2): x = x + 1
Next
Target.Validation.Delete
Target.Validation.Add Type:=xlValidateList, Formula1:=Join(VD, ",")
End Sub
#
funcionamento - ao selecionar uma célula no intervalo E2:E100 (altere no código se desejar), o código irá reaplicar a Validação de Dados na célula selecionada, com base na lista atualizada de A2:B até a última linha de B.
Boa tarde!
Excelente solução Mestre Osvaldo.
Att
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 04 Fev 2021 às 13:33
por JCabral
Peço desculpa por ainda não ter colocado o tópico como "Resolvido" mas não encontro a sitio para o fechar
Re: Lista suspensa dinâmica - dados de 2 colunas
Enviado: 04 Fev 2021 às 13:43
por osvaldomp
Olá, Jorge.
Me parece que não está disponível um caminho para finalizar o tópico.
O que alguns fazem é editar o título do tópico e acrescentar no final - resolvido.