Notifications
Clear all

AJUSTAR MACRO PARA CLASSIFICAR

5 Posts
3 Usuários
0 Reactions
872 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal, boa noite!!
.
Alguém pode dar uma ajudinha para montar uma macro?? ... Explicações no arquivo anexo!! ... Obrigado!!
.
https://www.sendspace.com/file/jz5zwo

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

 
Postado : 05/08/2018 3:28 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Copa ja pensou em trocar esse cont.se que te retorna 1 para uma palavra?

Se o resultado do cont.se for 1 retorne Sim se nao retorne Não ai vc classifica em ordem decrescente.

Se eu entendi vc quer deixar todas as linhas com dados na parte superior.

É isso?

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 05/08/2018 6:33 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
Marcelo não vejo nenhuma diferença em colocar 1 ou sim ... afinal a Macro terá o mesmo trabalho, ou seja, localizar o último sim (1) e classificar só aquelas linhas acima pela coluna N!!! ... Atualmente no trabalho eu uso a Macro 1, e depois vou lá na mão, seleciono as linhas que tem 1 e classifico no braço ... o que queria era evitar isto!!!
.
Uma outra hipótese seria a Macro2 usar a função indireto (Z1) para montar a MATRIZ!!
.
https://www.sendspace.com/file/8h2pp5
.
Tentei montar a Macro2 assim ... em Z1 teria: ="Z"&cont.se(Z2:Z2000;1) ... mas deu erro em key1
.

Sub ClassificarNOV2()

ActiveSheet.Range("A1:" & Range("Z1").Value).Select").Sort _
Key1:=Range("N1"), order1:=xlAscending, _
Header:=xlYes
MsgBox "Parabens Vanessa. Tudo Classificado Corretamente!", vbInformation, "Parabéns"
Range("N2").Select

End Sub

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

 
Postado : 05/08/2018 6:38 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Grande Copa!

Testa essa aqui:

Sub ClassificarMês()
  Dim rg As Range, NLins As Long
  Set rg = [A1].CurrentRegion
  NLins = Application.Evaluate("MAX(ROW(" & rg.Columns("Z").Address & _
                           ")*(" & rg.Columns("Z").Address & "=1))")
  Set rg = rg.Resize(NLins, rg.Columns.Count)
  rg.Sort Key1:=Range("N1"), order1:=xlAscending, Header:=xlYes
  MsgBox "Parabens Vanessa. Tudo Classificado Corretamente!", vbInformation, "Parabéns"
  Range("N2").Select
  Set rg = Nothing
End Sub

Quanto ao fato que vc questionou no arquivo, de replicar a macro para outras abas, não é necessário, basta que todos os botões "Classificar 2" executem essa mesma macro. A explicação é que para vc conseguir apertar o botão, a planilha tem que estar ativa, então ele sempre vai executar o mesmo código e sempre na planilha ativa, ou seja, aquela que vc acabou de pressionar o botão.

 
Postado : 05/08/2018 9:34 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

.
EdsonBR, PERFEITA !!!!!!!!!!! ... Muito obrigado mais uma vez!!!
.

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

 
Postado : 06/08/2018 5:54 am