Página 1 de 1
Macro que ordena por Mês
Enviado: 05 Jan 2021 às 23:42
por SandroLima
Boa noite, pessoal.
Como faço para ajustar a macro da planilha para que ordene a Coluna Mês da Tabela em Ordem Crescente? Ela atualmente coloca em ordem alfabética mas queria ordenar na sequencia de meses.
Janeiro - Fevereiro - Março ...
Segue planilha anexa.
Obrigado a quem puder ajudar.
Re: Macro que ordena por Mês
Enviado: 07 Jan 2021 às 14:37
por Foxtri
Olá
Veja se esta macro, faz o que vc quer .
Sub Ordena_Mensal()
Range("A8").Select
Range("A8:A19").Formula = "=match(B8,{""janeiro"";""Fevereiro"";""Março"";""Abril"";""Maio"";""Junho"";""Julho"";""Agosto"";""Setembro"";""Outubro"";""Novembro"";""Dezembro""},0)"
Range("A8:A19").Value = Range("A8:A19").Value
ActiveWorkbook.Worksheets("2020").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("2020").Sort.SortFields.Add Key:=Range("a8"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("2020").Sort
.SetRange Range("a8:I19")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A8:A19").Value = ""
End Sub
Até
Foxtri
Re: Macro que ordena por Mês
Enviado: 11 Jan 2021 às 14:55
por SandroLima
Boa tarde, Foxtri.
É uma boa alternativa.. mas atendeu em parte.
A tabela vai aumentando com o tempo e os meses podem ser repetidos na coluna.
A macro funcionou somente no caso de novas linhas não serem acrescentadas.
Inseri mais uma linha referente ao Mês de Abril para verificação.
Re: Macro que ordena por Mês
Enviado: 12 Jan 2021 às 07:44
por Foxtri
Bom dia.
Qual o resultado esperado;
Colocando mais uma linha com o mês de abril, como deve ficar ?
Aparecer duas vezes o mês repetido, ou não ??
Até
Foxtri
Re: Macro que ordena por Mês
Enviado: 12 Jan 2021 às 11:15
por SandroLima
Isso mesmo... Pode (aliás, deve) repetir.
Apenas ordenar por meses mesmo.
Re: Macro que ordena por Mês
Enviado: 12 Jan 2021 às 12:18
por Foxtri
Olá
Segue uma opção.
Sub Ordena_Mensal2()
Dim Ulin As Integer
Ulin = Cells(Rows.Count, "B").End(xlUp).Row - 1
Range("A8:A" & Ulin).Formula = "=match(B8,{""janeiro"";""Fevereiro"";""Março"";""Abril"";""Maio"";""Junho"";""Julho"";""Agosto"";""Setembro"";""Outubro"";""Novembro"";""Dezembro""},0)"
Range("A8:A" & Ulin).Value = Range("A8:A" & Ulin).Value
ActiveWorkbook.Worksheets("2020").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("2020").Sort.SortFields.Add Key:=Range("a8"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("2020").Sort
.SetRange Range("a8:I" & Ulin)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A8:A" & Ulin).Value = ""
End Sub
Até
Foxtri