Notifications
Clear all

Ordem alfabética com Aba Variável

3 Posts
2 Usuários
0 Reactions
1,183 Visualizações
(@ricanero)
Posts: 41
Eminent Member
Topic starter
 

Bom dia para todos.

Pessoal, coloquei para grava uma rotina para colocar em ordem as informações da minha planilha.

Oque acontece é que tenho várias abas nessa planilha e gostaria de rodar essa rotina na aba que eu estou trabalhando.

Por exemplo, essa macro eu gravei enquanto trabalhava na Plan59, mas se eu mudar de aba e for para a Plan60 e rodar essa macro, ela vai organizar os dados da Plan59 e não da Plan60.

Essa rotina esta salva em um módulo. É possível fazer com que a seleção da planilha seja variável, ou seja, seja selecioanda a Plan que eu estiver trabalhando para rodar ela?

 

Segue o código

Sub ORDEM_ALFABÉTICA()

Dim var
var = Range("C6").Value
Range("B8", "F" & var).Select

ActiveWorkbook.Worksheets("Plan59").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Plan59").Sort.SortFields.Add2 Key:=Range("D9", "D" & var) _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="SIM,NÃO", _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Plan59").Sort.SortFields.Add2 Key:=Range("B9", "B" & var) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan59").Sort
.SetRange Range("B8", "F" & var)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Espero que possam de ajudar.

Desde já, obrigado

Ricardo Nero

 
Postado : 30/06/2021 10:50 am
muca
 muca
(@muca)
Posts: 36
Eminent Member
 

Tente fazendo a seguinte mudança:

DE:
ActiveWorkbook.Worksheets("Plan59")

PARA:
ActiveWorkbook.ActiveSheet

O essencial faz a vida valer a pena!

 
Postado : 30/06/2021 3:47 pm
(@ricanero)
Posts: 41
Eminent Member
Topic starter
 

@muca

Muito obrigado

Funcionou perfeitamente

Fica aqui meu agradecimento decoração

Ricardo

 
Postado : 30/06/2021 3:53 pm