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


0

Estou trabalhando em um projeto pequeno e encontrei um problema. Preciso inserir várias caixas suspensas na mesma planilha e, uma vez que uma opção tenha sido selecionada, ela deverá 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 fazer isso? Eu tentei o menu suspenso de validação de dados, mas não posso usá-lo para várias células.

Piada, obrigado, mas o código fornecido não funciona. Criei a caixa de combinação usando o Developer, o intervalo (L2: L5) e o link da célula L1. Os valores são NÃO, SIM, OUTROS, ENTRE DADOS. O código que usei foi o seguinte no VBA na Planilha 1: Private Sub ComboBox1_Change () OnCboChange (ComboBox1) End Sub Private Sub OnCboChange (por referência cboBox como ComboBox) Se cboBox.value = "OTHER", Userform1.Show If cboBox.value = "ENTER DATA" e Userform2.Show End If 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 favor edite sua pergunta para incluir detalhes sobre o que você tem feito até agora. Por exemplo; como você adicionou caixas suspensas, o que especificamente aciona o formulário do usuário para aparecer etc.
CharlieRB

Respostas:


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 google ou ms-help, pois isso é amplamente oculto.

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

No menu do botão direito, você também pode selecionar "ver código", 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.