Página 1 de 1

Popular combobox com codigo e descrição

Enviado: 09 Mar 2017 às 20:47
por jcpengmec
Boa noite pessoal,

Estou tentando popular um combobox mais não consigo, já fiz inúmeras pesquisas e não obtive retorno algum.

Minha duvida é a seguinte:

Tenho uma tabela com duas colunas

ID | Maquina
1 | Injetora 01
2 | Injetora 02 etc...

preciso de popular ele com os dados da coluna Maquina e na hora de cadastrar preciso que o valor seja da coluna ID, é possível? faço isso em php brincando mais no vba tá difícil.

Re: Popular combobox com codigo e descrição

Enviado: 09 Mar 2017 às 22:35
por babdallas
Vc quer popu?lar o combobox com o nome das máquinas. Depois selecionada uma máquina no combobox e o usuário apertar um botão de cadastro, você quer que retorne o ID correspondente à máquina selecionada? É isso?
Se for isso, você pode retornar usando ÌNDICE+CORRESP no VBA assim:

Premissa: dados das máquinas estão na plan1 de B2 a B4 e dos IDS de A2 a A4.

Sub teste()
Dim codID as variant

With Application.WorksheetFunction
codID = .Index(Plan1.Range("A2:A4"), .Match(Combobox1.Value, Plan1.Range("B2:B4"), 0), 1)
End With

End Sub

Com isso você vai poder usar o codID para fazer o cadastro onde você quiser.

Popular combobox com codigo e descrição

Enviado: 10 Mar 2017 às 08:14
por jcpengmec
Bom dia amigo,

Ainda não entendi como aplicar essa solução.

Segue o meu botão de cadastro e os dados que se encontra no combobox "cb_maquinas".

Private Sub cmd_Ok_Click()
linha = Sheets("Apontamento de Producao").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row

Planilha1.Cells(linha, 1).Value = Me.txt_codigo.Value
Planilha1.Cells(linha, 2).Value = Me.txt_data.Value
Planilha1.Cells(linha, 3).Value = Me.txt_lote.Value
Planilha1.Cells(linha, 4).Value = Me.cb_operador.Value
Planilha1.Cells(linha, 6).Value = Me.cb_maquina.Value
Planilha1.Cells(linha, 8).Value = Me.cb_produto.Value
Planilha1.Cells(linha, 10).Value = Me.txt_producao.Value
Planilha1.Cells(linha, 11).Value = Me.txt_hr_inicio.Value
Planilha1.Cells(linha, 12).Value = Me.txt_hr_fim.Value

mensagem = MsgBox("Apontamento efetuado com sucesso", vbInformation, ":: GrupoSAF ::")

Unload Me

End Sub

Private Sub UserForm_Initialize()
Dim linha As Integer
linha = 2
Do Until Planilha4.Range("b" & linha).Value = ""
Me.cb_maquina.AddItem Planilha4.Range("B" & linha).Value
linha = linha + 1
Loop

End Sub

Re: Popular combobox com codigo e descrição

Enviado: 10 Mar 2017 às 11:35
por babdallas
Não sei se entendi exatamente o que você quer.

Se você anexar a planilha e explicar o que você quer com base nela, fica mais fácil de entender e te ajudar. Ou seja, explicar o que você quer que aconteça no formulário (nos combobox e textbox) e como você que cadastrar estas informações na sua planilha.