List Box: Exibe uma lista, retorna o item da coluna adjacente na tabela

0

Temos uma planilha que preenchemos com informações de faturamento e, em seguida, enviamos para um host via FTP. A primeira coluna requer a conta do cliente NUMBER. O que eu quero fazer é fornecer uma lista suspensa de NOMES do cliente A-Z (eu tenho uma tabela de 2 colunas de nomes e números). Quando eles escolhem um nome, eu quero colocar o número do cliente na célula e não o nome.

Suspenso: Aname Bname Cname. quando selecionado, retorne e preencha a célula com o número de conta 111111,222222,333333. Eu posso fazer isso com bastante facilidade usando vlookup, mas isso requer uma coluna extra. Preciso sair com o dobro da primeira coluna.

Alguma ideia?

    
por Chris R 20.02.2016 / 21:25

1 resposta

0

Considere a seguinte captura de tela:

Quandoumnomedeclienteéselecionado,amacroaseguirsubstituiimediatamenteonomepelonúmerodoclientedatabeladeconsultanascolunasDeE.Alistasuspensamantémalistadeclientes.Nacapturadetela,oClienteCfoiselecionadoprimeiroeamacrosubstituiuonomepelonúmero.Agora,omenususpensoaindapodeserusadoparaselecionarumclientediferente.

PrivateSubWorksheet_Change(ByValTargetAsRange)DimLookupTableAsRangeSetLookupTable=ThisWorkbook.Worksheets("Sheet1").Range("D2:E100")
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        Application.EnableEvents = False
        Target = Application.WorksheetFunction.VLookup(Target.Value, LookupTable, 2, False)
        Application.EnableEvents = True
    End If
End Sub

Clique com o botão direito do mouse na guia da planilha, selecione "Exibir código" e cole o código na janela de código. Ajuste as referências para se adequarem à sua pasta de trabalho.

Lembre-se de salvar o arquivo como uma pasta de trabalho habilitada para macro.

    
por 20.02.2016 / 22:58