Notifications
Clear all

Mesma macro para várias guias da planilha.

7 Posts
2 Usuários
0 Reactions
1,991 Visualizações
JaimeBorge
(@jaimeborge)
Posts: 41
Eminent Member
Topic starter
 

Montei uma macro pra ordenar dados em uma guia da planilha, só que são varias guias, quando criei outro botão para outra guia, a macro usou a da guia original, como que faz para que a mesma macro seja utilizada em todas as guias?

Obrigado a quem puder ajudar.

Sub Classificar()
'
' Classificar Macro
'
    Range("A7:I45").Select
    ActiveWorkbook.Worksheets("10-2017").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("10-2017").Sort.SortFields.Add Key:=Range("B8:B45") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("10-2017").Sort
        .SetRange Range("A7:I45")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A7").Select
End Sub
 
Postado : 07/11/2017 9:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Consegue adaptar?

Sub Classificar()
   Dim WS      As Worksheet
   For Each WS In Worksheets
      WS.Columns("A:I").Sort Key1:=WS.Columns("A"), Order1:=xlDescending
   Next WS
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2017 9:25 am
JaimeBorge
(@jaimeborge)
Posts: 41
Eminent Member
Topic starter
 

Deu erro, e quando mandei depurar ficou em destaque:

WS.Columns("A:I").Sort Key1:=WS.Columns("A"), Order1:=xlDescending

A seleção é a partir da coluna A, mas a ordenação é pela coluna B.

O que pode ser?

Obrigado

 
Postado : 07/11/2017 9:42 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Poste seu arquivo modelo!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2017 9:47 am
JaimeBorge
(@jaimeborge)
Posts: 41
Eminent Member
Topic starter
 

eheh... é que mandei apenas uma guia, agora acrescentei mais duas.

a planilha original vai até 2020, por isso só mandei uma parte.

Segue com mais guias agora.

Vlw!

 
Postado : 07/11/2017 10:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Suponde que você pretendo organizar pelo código (Coluna A de forma Ascendente).

Sub AleVBA_26498()
   Dim ws      As Worksheet
   On Error Resume Next
   Application.ScreenUpdating = False
    For Each ws In Worksheets
       ws.Range("A8:I45").Sort key1:=ws.Range("A7"), Order1:=xlAscending
    Next ws
   Application.ScreenUpdating = True
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2017 10:50 am
JaimeBorge
(@jaimeborge)
Posts: 41
Eminent Member
Topic starter
 

Fiz uma alteração e ficou perfeito, VALEU!!!

Obrigado pela ajuda.

Uma ótima semana;

Sub AleVBA_26498()
   Dim ws      As Worksheet
   On Error Resume Next
   Application.ScreenUpdating = False
    For Each ws In Worksheets
       ws.Range("A8:I45").Sort key1:=ws.Range("B7"), Order1:=xlAscending
    Next ws
   Application.ScreenUpdating = True
End Sub
 
Postado : 07/11/2017 11:07 am