Notifications
Clear all

VBA não executa

2 Posts
2 Usuários
0 Reactions
1,258 Visualizações
(@silviag123)
Posts: 3
New Member
Topic starter
 

Estou utilizando o seguinte código para que a coluna S seja classificada do menor para o maior dependendo da informação da coluna N.
Porém, ao alterar a coluna N, a coluna S não está sendo classificada do maior para o menor.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("N:N")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub

Application.EnableEvents = False
ActiveSheet.AutoFilter.ApplyFilter
With ActiveWorkbook.Worksheets("Priorização").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.EnableEvents = True
End Sub

 
Postado : 12/11/2019 8:35 am
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

Silviag123, acrescente na rotina a instrução :

xlDescending - Do Menor para o Maior, ou
xlAscending - Do Maior para o Menor

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("N:N")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub

Application.EnableEvents = False
ActiveSheet.AutoFilter.ApplyFilter
With ActiveWorkbook.Worksheets("Priorização").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Order = xlDescending
.Apply
End With
Application.EnableEvents = True
End Sub

Faça os testes e veja se resolve.

[]s
Mauro Coutinho

 
Postado : 12/11/2019 9:07 am