Ir ao conteúdo
  • Cadastre-se
Luis F

Excel Classificação automatica da linha

Recommended Posts

Pessoal preciso de uma ajuda, na planilha em anexo eu preciso que uma linha toda seja classificada em ordem crescente baseada no resultado da coluna R isso de forma automatica

modeloB1.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

aproveitei esse exemplo mas não consegui êxito

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Worksheets(1).Range("c9:s19"), Target) Is Nothing) Then
DoSort
End If
End Sub
Private Sub DoSort()
Worksheets(1).Range("c9:s19").Sort Key1:=Worksheets(1).Range("R9"), Order1:=xlAscending
End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Luis, não sei se entendi muito bem, mas vamos tentar:

 

Se a questão é  na segunda aba da planilha que você enviou, tente a seguinte Macro:

 

Sub Nome_da_Macro()
    
    Range("D9:T20").Select
    ActiveWorkbook.Worksheets("Plan1 (2)").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Plan1 (2)").Sort.SortFields.Add Key:=Range( _
        "R9:R20"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Plan1 (2)").Sort
        .SetRange Range("D9:T20")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

 

É  isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas, obrigado é isso mesmo, só não estou conseguindo com que o processo seja automático ou seja quando eu mudar as notas e o valor total for modificado a planilha faça a classificação do maior para o menor valor automaticamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá  Luis, para executar automaticamente tente o seguinte. Aperte o Botão direito na guia que você quer inserir, no caso [Plan1(2)] e depois em exibir código...

 

Irá  abrir uma tela para inserir um código que irá  rodar nessa guia, não é em Módulo 1 é em >>>Plan2 (Plan1 (2))<<< como na imagem abaixo, e cole o código:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("D9:T20")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        Call Classificar
               
    End If
    
End Sub

 

image.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show!, deu certo, muito obrigado, Moderador pode dar o tópico por resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×