Notifications
Clear all

Case

13 Posts
3 Usuários
0 Reactions
2,157 Visualizações
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Pessoal, estou apanhando para fazer funcionar essa macro. Poderiam me ajudar a ver o erro, por favor?

Sub Estrutura_Select_Case()

Dim tipo As Integer

tipo = Sheets("Home").Range("T11").Value

Select Case tipo

Case 1
Sheets("Home").Range("T13").Value = "Fase I"

Case 2
Sheets("Home").Range("T13").Value = "Fase II"

Case 3
Sheets("Home").Range("T13").Value = "Fase III"

End Select

End Sub

 
Postado : 22/07/2014 10:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A principio a rotina está correta, qual erro está se referindo ?

 
Postado : 22/07/2014 11:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

O que é que você quer que aconteça caso encontre o critério?

Case 1
Sheets("Home").Range("T13").Value = "Fase I"
'Aqui o que você quer?
Case 2

viewtopic.php?f=10&t=11382

leia:
http://www.globaliconnect.com/excel/ind ... Itemid=475

Att

 
Postado : 22/07/2014 11:06 am
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Quero que a célula T13 receba um texto: Fase 1, Fase 2 ou Faze 3, conforme as opções do case.
Mas não está aparecendo nada....

 
Postado : 22/07/2014 11:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Quero que a célula T13 receba um texto: Fase 1, Fase 2 ou Faze 3, conforme as opções do case.
Mas não está aparecendo nada....

É exatamente o que a rotina faz:
Se no Range("T11") da Sheets("Home") contiver um dos numeros "1, 2 ou 3" irá para o Case relacionado, se não está acontecendo isto, o problema não é na rotina.

[]s

 
Postado : 22/07/2014 11:28 am
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Pois é, não gera nenhum resultado e não to conseguindo descobrir o pq...

 
Postado : 22/07/2014 11:37 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

Poste seu arquivo modelo!!

Att

 
Postado : 22/07/2014 11:41 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Coloque:

MsgBox tipo

após a linha, e verifique se está pegando o valor correto
tipo = Sheets("Home").Range("T11").Value

Fora isto, só postando seu modelo conforme o Alexandre solicitou.

[]s

 
Postado : 22/07/2014 11:50 am
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Descobri o que está acontecendo...está rodando certinho.
Roda quando executo no VBA. Preciso que rode quando selecionada uma opção em uma célula (que coloquei 1, 2 ou 3 como lista na validação de dados).
Como faço para a função rodar quando selecionada uma opção da lista suspensa?

Obrigado por responderem tão rápido pessoal!

 
Postado : 22/07/2014 12:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Coloque:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$T$11" Then
   
        Call Estrutura_Select_Case
   
    End If
   
End Sub

[]s

 
Postado : 22/07/2014 12:25 pm
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Mauro, obrigado pela ajuda, mas acho que estou com uma certa resistência a inteligência...rs
Peço que vocês me ajudem, to travado. Segue o arquivo exemplo.

Obrigado pela paciência pessoal.

 
Postado : 22/07/2014 7:45 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Dá uma olhada nos detalhes.

Abs

 
Postado : 22/07/2014 9:10 pm
(@ser_ourico)
Posts: 13
Eminent Member
Topic starter
 

Grande Gilmar!!!
Muito obrigado cara! De tanto tentar isso e aquilo, acabei tirando o valor inicial da variável. E o grande pecado dos "detalhes".

Galera, me passaram esse trabalho hj mas acabou não dando tempo de finalizar tudo...estou saindo 1 semaninha de férias. Confesso que saio mais aliviado, não gosto de ficar com essa pulga atras da orelha: onde to errando....rs

Obrigado pela força! Até daqui 1 semana!

Abs!

 
Postado : 22/07/2014 9:38 pm