Pergunte aqui
0

Classificar valores em linha - Macro

perguntadas 2017-02-25 23:07:26 +0100

imagem do gravatar de mdiego

updated 2019-09-30 19:12:20 +0100

Como classifcar valores em linha? Por exemplo COLUNA A1 = Defeito1 b1= Defeito2 a2 = 20 b2 10

É um array e queria classificar do maior para o menor o valor junto com a descrição dele

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2017-02-26 18:41:53 +0100

imagem do gravatar de Grafeno

updated 2017-02-26 18:51:18 +0100

Boa tarde,

Peguei minha sugestão para outra pergunta e adaptei para o seu caso. Assumi que os valores estão na segunda linha (A2:E2) e que a descrição estão na primeira (A1:E1):

Sub ClassificarColunas2
Dim oPlanilhaAtiva As Object, oIntervalo As Object
Dim oCamposdeClassif(0) as new com.sun.star.util.SortField
Dim oDescritorClassif(3) as new com.sun.star.beans.PropertyValue

    'Planilha ativa'
    oPlanilhaAtiva = ThisComponent.CurrentController.ActiveSheet

    'Campos (chaves) de classificação'
    oCamposdeClassif(0).Field = 1 'segundo campo (no caso linha)'
    'Ordem decrescente'
    oCamposdeClassif(0).SortAscending = False

    'Indica se NÃO (false) contém títulos/cabeçalhos'
    oDescritorClassif(0).Name = "ContainsHeader"
    oDescritorClassif(0).Value = False
    'Direção da classificação: da esquerda para a direita - colunas (true)'
    oDescritorClassif(1).Name = "IsSortColumns"
    oDescritorClassif(1).Value = True
    'A matriz de campos (chaves) de classif.'
    oDescritorClassif(2).Name = "SortFields"
    oDescritorClassif(2).Value = oCamposdeClassif()

    'Definir o Intervalo'
    oIntervalo = oPlanilhaAtiva.getCellRangeByName( "A1:E2" )
    'Classificar'
    oIntervalo.Sort( oDescritorClassif() )
End Sub


Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Perfeito Grafeno! Monstro... Muito obrigado!

Eu fiz algumas macros e acho que ficou muito código, primeiro porque não sei programar... Está meio confuso estou me perdendo... Poderia dar uma olhada? Se da pra melhorar alguma coisa? É que por aqui não consigo anexar. Obrigado mais uma vez!

imagem do gravatar de mdiegomdiego ( 2017-02-27 16:09:14 +0100 )editar

Muito obrigado pelo retorno, @mdiego. É sempre um prazer um ajudar, na medida do possível. Por isso, acho que posso dar uma olhada sim. Abra uma nova questão com sua dúvida. Aí, não só eu, mas outros membro poderão opinar. o AskLibO aceita anexos a partir de um certo karma. Se não conseguir, você pode subir o arquivo para um site como googledrive, dropbox e postar o link. Atte,

imagem do gravatar de GrafenoGrafeno ( 2017-02-27 19:51:19 +0100 )editar

Muito obrigado Grafeno! Vou upar ele agora.

imagem do gravatar de mdiegomdiego ( 2017-02-27 19:55:23 +0100 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2017-02-25 23:07:26 +0100

Lidas: 380 vezes

Última atualização: Feb 26 '17