Boa tarde,
Atualmente tenho a seguinte rotina para ordenar a informação de uma tabela:
Sub Ordenar_Enc()
Sheets("LISTAGEM").Select
Application.ScreenUpdating = False
'Ordenação personalisada para repor a lista de encomendas
ActiveSheet.ShowAllData
ActiveWorkbook.Worksheets("LISTAGEM").ListObjects("ENC_LIST").Sort. _
SortFields.Add Key:=Range("ENC_LIST[!]"), SortOn:=xlSortOnValues, Order:= _
xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("LISTAGEM").ListObjects("ENC_LIST").Sort. _
SortFields.Add Key:=Range("ENC_LIST[Data de Impressão]"), SortOn:= _
xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("LISTAGEM").ListObjects("ENC_LIST").Sort. _
SortFields.Add Key:=Range("ENC_LIST[Prazo Entrega Solicitado]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("LISTAGEM").ListObjects("ENC_LIST").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.ScreenUpdating = True
End Sub
e geralmente, oculto todas as entregas das semanas anteriores, ficando visível apenas as entregas da semana atual usando uma coluna com a seguinte formula para de devolver um valor do tipo "4/24"
=SE([@[Data de Entrega]]="";"";DIREITA(ANO([@[Data de Entrega]]);1)&"/"&TEXTO(NÚMSEMANA([@[Data de Entrega]];21);"00"))
O que precisava, era filtrar em VBA juntamente com a ordenação personalizada, os valores da semana atual "4/24" e os vazios "", ocultando tudo o resto nesta coluna.
É possível?
Obrigado
Postado : 05/06/2014 9:29 am