Quero fazer um botão para ordenar dados que estão na primeira coluna da tabela. Como posso fazer o macro??
Ola @JHONATHANCN , esclarecer, quer ordenar somente a PRIMEIRA COLUNA e NÃO mexer nas demais colunas ou quer que as demais colunas obedeçam a classificação da primeira coluna.
Boa Tarde Sr. Schiavinatto
Dando sequencia este topico, gostaria de uma macro para ordenar apenas uma coluna, apenas para números, grato
Ola @MauroMeira, poste um arquivo exemplo com a informação da coluna a classificar, fica mais fácil sugerir algo.
Ordenar.ods (10,0,KB)
Boa Tarde Sr. Schiavinatto
Minha intenção é a macro para ordenar uma única coluna de números, no caso do arquivo, a coluna B.
Grato.
Ola @MauroMeira , quer ordenara coluna B em alterar a coluna A?
Ou seja Mauro vai ficar com o numero 1, é isso?
Ou Quer classificar a Tabela ( Coluna A +B ), pela coluna B?
Sr. Schiavinatto, isso mesmo, apenas a coluna B seja alterada, Isso mesmo, Mauro vai ficar com o numero 1, grato
Sub OrdenarColunaB
SortArea "Planilha1", "B2:B100", 0, "true"
End Sub
'' Ordenar Area = Sub SortArea "xPlan", "xRange", nCol, "xOrder"
Sub SortArea ( xPlan$, xRange$, nCol%, xOrder As Boolean )
' xPlan = Nome da Planilha
' xRange = Area da tabela.
' Ncol = Numero da coluna da area para classificar. ( 1a = 0 )
' xOrder = "true" ascendente / "false" descendente.
' Exemplo de uso: SortArea "Planilha1", "B10:N30", 1, "true"
' Necessário Ordenar mais de uma coluna, repita o comando começando com a ultima ordenação.
'------------------------------------------------------------------------------
Dim oSheet : Dim oRange
Dim oSortFields(0) as new com.sun.star.util.SortField
Dim oSortDesc(0) as new com.sun.star.beans.PropertyValue
oSheet = ThisComponent.getSheets.getByName( xPlan ) 'PLANILHA
oRange = oSheet.getCellRangeByName( xRange ) 'AREA
oSortFields(0).Field = nCol 'COLUNA DA TABELA
oSortFields(0).SortAscending = xOrder 'ORDENAÇÃO
oSortDesc(0).Name = "SortFields"
oSortDesc(0).Value = oSortFields()
oRange.Sort(oSortDesc())
End Sub
Boa Tarde Sr. Schiavinatto, ficou perfeito, muito obrigado pela ajuda
Boa Tarde Sr. Schiavinatto, desculpe voltar com o assunto, pode me ajudar novamente, fiz a inclusão desta macro no meu arquivo, só que a classificação não esta de acordo, pode verificar o arquivo, por favor, grato.
Ordenar.ods (16,5,KB)
Ola @MauroMeira, por algum motivo desconhecido o LibreOffice esta vendo a coluna B como texto.
Normalmente se usar Localizar ^.
(circunflexo ponto) e Substituir $
(E comercial), é convertido para números, porem não esta funcionando em seu arquivo.
Então veja no arquivo, o procedimento feito… deixei os passos para ficar mais explicado…
Ordenar (1).ods (28,9,KB)
Arquivo após os procedimentos…
Ordenar (1)_GS.ods (21,0,KB)
Boa Tarde Sr. Schiavinatto, muito obrigado pela ajuda, isto é um tanto confuso, esperar uma atualização do Libre pra ver se resolve esta anormalidade.
grato
Mauro
Ola @MauroMeira, normalmente é formatação estranha vinda do local copiado, o ideal é sempre colar sem formatação.
Bom Dia Sr. Schiavinatto, resolvido, era formatação, muito obrigado pela ajuda.