Classificação autom...
 
Notifications
Clear all

Classificação automatica e lançamento de alteração

2 Posts
2 Usuários
0 Reactions
821 Visualizações
(@mshinnji)
Posts: 30
Eminent Member
Topic starter
 

Pessoal,

Preciso da ajuda de vocês. Eu cheguei a a dois códigos e gostaria de junta-los mas estou com certa dificuldade.
O que eu precisaria na verdade e que se tivesse qualquer qualquer alteração nas colunas "A:I" ele me atualizasse a data e hora nas colunas "i" e "J" e organizasse a data da coluna "i" da data mais atual para antiga.
Gostaria que isso fosse feito de forma automática sempre que eu atualizasse algum valor da planilha.

Conto com a ajuda de vocês!

Sub Worksheet_Change(ByVal faixa As Range)
Dim Dados As Range
    Set Dados = Range("A:H")
    If Not Intersect(faixa, Dados) Is Nothing Then
        Application.EnableEvents = False
        Dados.Cells(faixa.Row, 9).Value = Date
        Dados.Cells(faixa.Row, 10).Value = Time
        Application.EnableEvents = True
    End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("A:H")) Is Nothing Then
        Range("I5").Sort Key1:=Range("I6"), _
          Order1:=xlDescending, Header:=xlYes, _
          OrderCustom:=1, MatchCase:=False, _
          Orientation:=xlTopToBottom
    End If
End Sub
 
Postado : 28/02/2016 10:10 am
(@osvaldomp)
Posts: 859
Prominent Member
 

O que eu precisaria na verdade e que se tivesse qualquer qualquer alteração nas colunas "A:I" ele me atualizasse a data e hora nas colunas "i" e "J" e organizasse a data da coluna "i" da data mais atual para antiga.

Não seria qualquer alteração nas colunas "A:H" ?

Experimente o código abaixo. O código irá ordenar a coluna "J" como chave 2.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
  If Not Intersect(Target, Range("A:H")) Is Nothing Then
   Cells(Target.Row, 9) = Date
   Cells(Target.Row, 10) = Time
   Range("A5:J" & Range("A5").End(xlDown).Row).Sort key1:=Range("I5"), _
    Order1:=xlDescending, key2:=Range("J5"), Order2:=xlDescending, Header:=xlYes
  End If
End Sub

Osvaldo

 
Postado : 28/02/2016 1:17 pm