Notifications
Clear all

Rodar macro a partir do resultado de uma caixa de combinação

4 Posts
3 Usuários
0 Reactions
1,079 Visualizações
(@jorgep-tec)
Posts: 37
Trusted Member
Topic starter
 

Neste projeto tem uma macro que roda ao selecionar uma célula, no entanto eu quero que ela roda a partir do resultado de uma caixa de combinação.

Tentei este comando mas não consegui.

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$H$2"
If UCase(Target.Value) = "1" Then Call Correios_port
End Select
End Sub

O arquivo está anexo.

Desde já, obrigado.

 
Postado : 01/02/2014 1:48 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

jorgep.tec,

Boa Noite!

Veja se é assim.

 
Postado : 01/02/2014 8:25 pm
(@jorgep-tec)
Posts: 37
Trusted Member
Topic starter
 

Funcionou para o português no 1, no entanto quando acrescentei a matemática para rodar no 2 nada aconteceu.

Acrescentei os parâmetros necessários, no entanto não deu...

Segue o anexo modificado

Desde já, obrigado!

 
Postado : 01/02/2014 9:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

jorgep.tec, neste seu último anexo, no Módulo1 apague a rotina abaixo :
Private Sub Worksheet_Change(ByVal Target As Range)

e depois cole estas linhas:

Dim sSelecaoNum
Dim sSelecaoTexto

Sub DropDownSelect()

    With ActiveSheet.Shapes("Drop Down 1").ControlFormat
        
        'Pode eliminar depois os MSgBox
        'É Só para entendimento
        'Valor Numerico (indice)
        MsgBox "Index Escolhido = " & .Value
        
        'Valor Texto
        MsgBox "Item Escolhido = " & .List(.Value)
    
        sSelecaoNum = .Value
        sSelecaoTexto = .List(.Value)
        
    End With
    
    Call ValorSelecionado

End Sub

Sub ValorSelecionado()

    Select Case sSelecaoNum
    
        Case 1 'portugues
            MsgBox "Voce selecionou valor - " & sSelecaoNum & " - " & sSelecaoTexto
            
            'Aqui a chamada da rotina de portugues
           Call Correio_port
        
        Case 2 'matematica
            MsgBox "Voce selecionou valor - " & sSelecaoNum & " - " & sSelecaoTexto
            
            'Aqui a chamada da rotina de matematica
             Call Correio_mat
        
    End Select

End Sub

Apos clique com o Botão direito em cima do DropDown na planilha, escolha Atribuir Macro e selecione "DropDownSelect"

Faça os testes e veja se é isto.

[]s

 
Postado : 02/02/2014 6:19 am