Notifications
Clear all

Erro dentro de SelectionChange

3 Posts
2 Usuários
0 Reactions
538 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal,
Vejam a função abaixo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
.
.
If Range("B5").Value <> "DIÁRIO" Then
Range("I5").Select
Else
Range("G5").Select
End If
.
.
End Sub

Nesta If eu preciso que, quando B5 for diferente de DIÁRIO, o cursor pule para I5, senão, que pule para G5.
Então, o cursor não sai de G5.
Eu não sei o que fazer para continuar o processamento.
Grato,
Pedro

 
Postado : 31/03/2014 5:11 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

pedro,

Como vc está trabalhando com eventos, existe uma outra preocupação.

O evento selection change vai executar o código toda vez que vc selecionar uma célula diferente, e por isso está "travando" o cursor na célla G5.

Para limitar a ação dos eventos, deve trabalhar com a célula alvo "target".

Pelo que eu entendi, o que vc quer fazer é, entrar na célula B5 e digitar uma informação, e, a partir da informação digitada, ir para outra célula. Se for isto, use este código:

Private Sub Worksheet_Change(ByVal Target As Range)
'somente executa o código se a alteração for realizada na célula B5
If Target.Row = 5 And Target.Column = 2 Then
    'verifica a alteração da célula B5 (definida acima) e executa a ação correspondente
    If Target.Value = "DIÁRIO" Then
        Range("G5").Select
    Else
        Range("I5").Select
    End If
End If
End Sub
 
Postado : 31/03/2014 5:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Valeu, Gilmar.
Funcionou belezinha.
Pedro

 
Postado : 31/03/2014 5:42 pm