Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
  • Avatar do usuário
#61816
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.
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por JCabral em 04 Fev 2021 às 16:28, em um total de 1 vez.
#61933
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.
JCabral agradeceu por isso
#61951
Olá, Jorge.
Instale uma cópia do código abaixo no módulo da planilha Folha1.
Código: Selecionar todos
Private 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.
JCabral, Kledison, AfonsoMira agradeceu por isso
#61954
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 todos
Private 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
osvaldomp, JCabral agradeceu por isso
#61956
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.
JCabral agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord