none
Selecionar item no Combobox e referenciar outra célula RRS feed

  • Pergunta

  • Boa noite!

    Sou noob em programação e estou dando voltas pra fazer algo simples, mas não sei como referenciar os dados num projeto. Normalmente eu busco os códigos, estudo e daí faço as modificações pra atender às minhas necessidades.

    Meu projeto tem a planilha "Funcionarios". A coluna A tem os nomes e, a B, as matrículas.

    No UserForm, há a opção de selecionar o nome do empregado numa combobox. Tal dado é incluído numa planilha de relatórios. Essa parte foi tudo ok. Mas eu preciso que a mesma seleção também recolha as informações da coluna B (matrícula) para a planilha "BancoDeDados".

    Vi alguns exemplos usando a propriedade .Find, que não consegui adaptar e outras usando a opção OFFSET, mas os dados não são retornados da forma correta.

    Alguém pode me ajudar com isso?

    quinta-feira, 22 de março de 2018 22:15

Todas as Respostas

  • Tenta adaptar o código fornecido neste teu post que não leste nem marcaste como resolvido.

    https://social.msdn.microsoft.com/Forums/pt-BR/c3908437-a75d-41bd-94b9-9886d74801f4/usando-listbox-como-referncia-para-preencher-formulrio-textbox?forum=vbapt


    M_A_S_L


    • Editado M_A_S_L quinta-feira, 22 de março de 2018 22:55
    quinta-feira, 22 de março de 2018 22:54
  • Existem algumas maneiras de fazer isso. Tenta assim.

    Carrega a sua combobox com os nomes dos funcionários e as matriculas. Ai você esconde a matrícula deixando a ColumnCount da sua combobox igual a 1 e alterando o columnWidths caso necessário. Na hora de salvar no banco você terá o nome do funcionário visível na combobox e a matrícula escondida.

    No código tem um exemplo de como pegar a matrícula. Você terá que fazer suas adaptações. 

    Private Sub UserForm_Initialize()
    
    With Planilha1.Range("A1").CurrentRegion
        ComboBox1.List = .Offset(1).Resize(.Rows.Count - 1).Value
        ComboBox1.ColumnCount = 2
    End With
    
    End Sub
    
    Private Sub CommandButton1_Click()
        With Planilha2
            utlima_linha = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
            .Cells(utlima_linha, 1) = ComboBox1.Text
            .Cells(utlima_linha, 2) = ComboBox1.List(ComboBox1.ListIndex, 1)
        End With
    End Sub


    Renato MDSP


    sexta-feira, 23 de março de 2018 02:47