Página 1 de 1

Mudar foco do Controle Activex "Caixa de Combinação"

Enviado: 15 Fev 2016 às 18:01
por luizpaps
Boa Tarde pessoal, estou com a seguinte dúvida, coloquei em uma planilha de cadastro um controle Activex "Caixa de Combinação" que aponta para uma lista de produtos até aí tudo bem, meu problema é que tenho "campos" antes e depois da caixa de combinação, para sair da caixa de combinação com a tecla "ENTER" eu consegui um código, mas quando teclo "ENTER" na célula anterior a da caixa de combinação o excel não muda o foco para ela e sim para a célula que está mais abaixo, vejam a imagem o que eu quero é que quando teclar "ENTER" na célula C4, mude o foco para a Caixa de combinação;
Imagem

o código que usei para quando teclar "ENTER" na Caixa de combinação e mudar o foco para a célula "C10" (a célula C8 é bloqueada pois tem um PROCV para buscar a unidade do produto escolhido) foi esse:
Código: Selecionar todos
Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    
    If KeyCode = vbKeyReturn Then
        Range("c12").Select
    End If

End Sub
mas para mudar o foco da célula para caixa de combinação não consigo, a célula não tem evento, se alguém puder ajudar, agradeço muito.

Re: Mudar foco do Controle Activex "Caixa de Combinação"

Enviado: 15 Fev 2016 às 20:47
por Kledison
Boa noite,

navegando pela internet achei uma dica interessante e tentei adaptar a sua necessidade.

Preenchendo as células e apertando o ENTER, o curso do mouse se posiciona na próxima célula disponível para receber dados.

Consegui com isso fazer o cursor do mouse para dentro da caixa de seleção, porém o código utilizado não serve para sair da caixa, estou disponibilizando a planilha com o código, tente adaptar a sua.

Espero que ajude, pois ainda sou leigo em VBA, :D :D :D :D

Re: Mudar foco do Controle Activex "Caixa de Combinação"

Enviado: 16 Fev 2016 às 19:19
por luizpaps
Kledison escreveu:Boa noite,

navegando pela internet achei uma dica interessante e tentei adaptar a sua necessidade.

Preenchendo as células e apertando o ENTER, o curso do mouse se posiciona na próxima célula disponível para receber dados.

Consegui com isso fazer o cursor do mouse para dentro da caixa de seleção, porém o código utilizado não serve para sair da caixa, estou disponibilizando a planilha com o código, tente adaptar a sua.

Espero que ajude, pois ainda sou leigo em VBA, :D :D :D :D
Mano seu código ficou perfeito muito obrigado, funcionou 100%, agora para sair da caixa eu usei o código abaixo:
Código: Selecionar todos
Private Sub CProdutos_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
        Range("c12").Select
    End If

End Sub
Valeu mesmo... muito obrigado!!!