Notifications
Clear all

SelectionChange

3 Posts
2 Usuários
0 Reactions
814 Visualizações
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Pq esse código executa somente da celula N14 ?

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        Dim Linha As String
        
        Linha = Target.Column
        
        If Not Intersect(Range("N" & Linha), Target) Is Nothing Then
            MsgBox ("Executar código!")
        End If

End Sub
 
Postado : 17/11/2017 2:27 pm
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Linha = Target.Row

 
Postado : 17/11/2017 2:53 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se foi uma duvida e foi resolvida, mas só para não ficar em branco:

Como está utilizando o Método Intersect e a Variável Linha é igual a Target.Column, então :
Linha = Target.Column - é igual ao numero da coluna selecionada, e na próxima instrução temos Not Intersect(Range("N" & Linha), Target), ela irá representar :

Linha = Target.Column = ao numero da coluna selecionada, e,
Range("N" & Linha) = ao Range(N & Linha), Target), e como a letra "N" é 14ª coluna, Range(N & Linha) é igual a Range("N14"), e seu código só será executada se for selecionada o Range("N14"), não sei se me fiz entender, mas troque pela abaixo e veja se entende.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        Dim Linha As String
        
        Linha = Target.Column
        
        If Not Intersect(Range("N" & Linha), Target) Is Nothing Then
            
            MsgBox "Linha Número :- " & Target.Row
            
            MsgBox "Coluna Número :- " & Target.Column
            
            MsgBox "Range :- " & Intersect(Range("N" & Linha), Target).Address(0, 0)
        
        End If

End Sub

Espero ter ajudado.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/11/2017 6:22 pm