Como ter várias caixas suspensas na mesma planilha, com uma das opções vinculada a um formulário de usuário?

0

Estou trabalhando em um projeto pequeno e encontrei um problema. Eu preciso inserir várias caixas suspensas na mesma planilha, e uma vez que uma opção tenha sido selecionada, ela deve aparecer na célula. Além disso, se uma opção específica tiver sido selecionada, um formulário de usuário deverá aparecer.

Como posso conseguir isso? Eu tentei a lista suspensa de validação de dados, mas não consegui usá-la para várias células.

Jook, obrigado, mas o código fornecido não funciona. Eu criei caixa de combinação usando o desenvolvedor, intervalo (L2: L5) e link de célula L1. Os valores são NO, YES, OTHER, ENTER DATA. O código que usei foi o seguinte no VBA na Folha 1: Private Sub ComboBox1_Change () OnCboChange (ComboBox1) End Sub Private Sub OnCboChange (Por Ref cboBox Como ComboBox) Se cboBox.value="OTHER", então Userform1.Show Se cboBox.value="ENTER DATA", então Userform2.Show Fim se End Sub

Não tenho certeza se fiz algo errado, mas o código não lê o código acima e não sei como associar esse código à caixa de combinação. Alguma sugestão?

    
por Daniel Fran 15.11.2012 / 09:55

1 resposta

0

Para colocar uma caixa de combinação na sua planilha, use a guia do desenvolvedor e insira uma, onde quiser. Para mais informações, use o google ou ms-help, porque isso é muito encoberto.

Usando as propriedades da sua caixa de combinação (clique com o botão direito), você pode especificar um ListFillRange , como A1:A20 .

No menu do botão direito, você também pode selecionar "código de visualização", onde será direcionado para uma seção como:

Private Sub ComboBox1_Change()
    'use this code for all your cbo-boxes, if it is the same for all
    OnCboChange(ComboBox1)
End Sub

Private Sub OnCboChange(ByRef cboBox As ComboBox)
    'check if a specific selection was made
    'If cboBox.value = "myValue" then
    If cboBox.ListIndex = 3 Then
      'specify what to do now
      MyUserForm.Show
    End If
End Sub
    
por 15.11.2012 / 18:56