Notifications
Clear all

VB - Range apenas de um intervalo específico

4 Posts
2 Usuários
0 Reactions
1,086 Visualizações
(@ttorres)
Posts: 0
New Member
Topic starter
 

Olá queridos, eu tenho a seguinte fórmula:


Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Range("D" & Target.Row).Value <> "" Then
Range("B" & Target.Row).Value = Date
End If

If Range("D" & Target.Row).Value = "" Then
Range("B" & Target.Row).Value = ""
End If

Application.EnableEvents = True

End Sub

O que acontece é que eu só preciso que ela funcione apenas para um intervalo específico D10:D50.
Do jeito que está, o macro vai alterar células que não tem nada haver.

Melhor ainda se houvesse a possibilidade de usar o nome do intervalo ao invés do intervalo.

Preciso da ajuda de vocês.
Conto com todos!

 
Postado : 09/03/2017 5:40 am
(@ttorres)
Posts: 0
New Member
Topic starter
 

Olá para resolver o problema encontrei essa solução:


Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("D10:D50")) Is Nothing Then Exit Sub
  If Target.Value = "" Then Target.Offset(, -2).Value = "" Else: Target.Offset(, -2).Value = Date
End Sub

Onde está D10:D50 é a coluna onde será inserido o valor manualmente
-2 vai se tornar a célula B que receberá a DATA automaticamente.

 
Postado : 09/03/2017 6:32 am
(@nagibsalha)
Posts: 0
New Member
 

EXCELENTE!

 
Postado : 09/03/2017 7:11 am
(@ttorres)
Posts: 0
New Member
Topic starter
 

Caso o intervalo tenha nome, basta alterar D10:D50 pelo nome do intervalo.

 
Postado : 09/03/2017 7:27 am