Como utilizar macros para ordenar dados em várias colunas como uma coluna no Excel

Traduções de Artigos Traduções de Artigos
Artigo: 247311 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

O Microsoft Excel não tem um método incorporado para ordenar uma coluna (snaking) do jornal de dados. Este artigo contém uma macro de exemplo para ordenar dados num formato de coluna de jornal.

Mais Informação

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Ordenação incorporados

No Microsoft Excel, utilizar, normalmente, a funcionalidade de ordenação para ordenar uma lista. Uma lista no Excel é uma série de linhas de folha de cálculo que contêm dados relacionados, tais como uma base de dados factura ou um conjunto de nomes e números de telefone de clientes. Pode utilizar uma lista como uma base de dados, na qual cada linha é um registo, e as colunas são campos. A primeira linha da lista, normalmente, tem rótulos para as colunas, por exemplo:
   A1: Q1   B1: Q2   C1: Q3
   A2: 10   B2: 2    C2: 4
   A3: 14   B3: 18   C3: 9
   A4: 7    B4: 17   C4: 12
   A5: 1    B5: 13   C5: 5
   A6: 11   B6: 8    C6: 16
   A7: 3    B7: 6    C7: 15
				
se ordenou nesta lista por ordem ascendente, pelo Q1 campo (coluna A), os resultados seria da seguinte forma:
   A1: Q1   B1: Q2   C1: Q3
   A2: 1    B2: 13   C2: 5
   A3: 3    B3: 6    C3: 15
   A4: 7    B4: 17   C4: 12
   A5: 10   B5: 2    C5: 4
   A6: 11   B6: 8    C6: 16
   A7: 14   B7: 18   C7: 9
				

Ordenar uma coluna de estilo de jornal

Colunas de jornal e snaking colunas são diferentes termos para o mesmo tipo de formato de dados. Em colunas de jornal, os dados preenche uma coluna e continua na parte superior da coluna seguinte. Neste caso, os dados provavelmente não tem rótulos para cada coluna, por exemplo:
   A1: 10   B1: 2    C1: 4
   A2: 14   B2: 18   C2: 9
   A3: 7    B3: 17   C3: 12
   A4: 1    B4: 13   C4: 5
   A5: 11   B5: 8    C5: 16
   A6: 3    B6: 6    C6: 15
				
pode utilizar a macro de exemplo neste artigo para ordenar as colunas de jornal por ordem ascendente. Se utilizar a macro de exemplo nos dados acima, os resultados são os seguintes:
   A1: 1    B1: 7    C1: 13
   A2: 2    B2: 8    C2: 14
   A3: 3    B3: 9    C3: 15
   A4: 4    B4: 10   C4: 16
   A5: 5    B5: 11   C5: 17
   A6: 6    B6: 12   C6: 18
				
para ver a macro ordenação funcionam como descrito, siga estes passos:
  1. Abra um livro novo.
  2. Escreva os seguintes dados de exemplo na folha de cálculo:
       A1: 10   B1: 2    C1: 4
       A2: 14   B2: 18   C2: 9
       A3: 7    B3: 17   C3: 12
       A4: 1    B4: 13   C4: 5
       A5: 11   B5: 8    C5: 16
       A6: 3    B6: 6    C6: 15
    					
  3. No menu Ferramentas , aponte para macro e, em seguida, clique em Editor do Visual Basic .
  4. No menu Inserir , clique em módulo .
  5. Escreva o seguinte código no módulo:

    Nota O exemplo seguinte demonstra como ordenar por ordem ascendente. Pode alterá-lo modificando o valor das "Order1: =" argumento para xlDescending .
       Sub SortAllRangeData()
       ' Place column header for temporary sort area.
       Range("IV1").Value = "Numbers"
       
       ' Move numbers to temporary sort location.
       For Each cell In Selection
          Range("iv65536").End(xlUp).Offset(1, 0) = cell.Value
       Next cell
       
       ' Sort numbers in ascending order.
       Range("IV1", Range("IV1").End(xlDown)).Sort Key1:=Range("IV2"),  _
       Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
            
       ' Move sorted data back to original sheet location.
    
       Selection(1, 1).Activate ' Make sure the ActiveCell is the
                                ' top left of Selection first.
       CCnt = Selection.Columns.Count
       RCnt = Selection.Rows.Count
       CellCnt = Selection.Cells.Count
       Tcell = 2
       For c = 1 To CCnt
         For r = 1 To RCnt
            Range(ActiveCell.Address).Offset(r - 1, c - 1).Value =  _
            Range("iv" & Tcell).Value
            Tcell = Tcell + 1
         Next r
       Next c
       
       ' Clean up temporary sort location.
       Range("IV1", Range("IV1").End(xlDown)).Clear
    End Sub
    					
  6. No menu do Excel no Microsoft Excel X para Mac e em versões posteriores do Excel para Mac ou no menu ficheiro em todas as outras versões do Excel, clique em Close and Return to Microsoft Excel .
  7. Seleccione A1:C6.
  8. No menu Ferramentas , aponte para macro e, em seguida, clique em macros . Seleccione a macro SortAllRangeData e, em seguida, clique em Executar .
Os dados no intervalo seleccionado agora ordenados, e aparece da seguinte forma:
   A1: 1    B1: 7    C1: 13
   A2: 2    B2: 8    C2: 14
   A3: 3    B3: 9    C3: 15
   A4: 4    B4: 10   C4: 16
   A5: 5    B5: 11   C5: 17
   A6: 6    B6: 12   C6: 18
				

Referências

Excel X para Mac e versões posteriores

Para obter mais informações sobre como ordenar, clique em Ajuda do Excel no menu Ajuda , escreva ordenação , clique em Procurar e, em seguida, clique num tópico para visualizá-la.

Para mais informações sobre como utilizar o método de ordenação a partir do Visual Basic Editor, clique em Ajuda do Visual Basic no menu Ajuda , escreva o método de ordenação , clique em Procurar e, em seguida, clique em para ver a ordenar o método .

Excel 2001 para Mac

Para obter mais informações sobre como ordenar, faça clique sobre o Assistente do Office , escreva Ordenar uma lista , clique em Procurar e, em seguida, clique num tópico para visualizá-la.

Nota Se o assistente estiver oculto, clique no botão Assistente do Office na barra de ferramentas padrão .

Para mais informações sobre como utilizar o método de ordenação a partir do Visual Basic Editor, faça clique sobre o Assistente do Office , escreva o método de ordenação , clique em Procurar e, em seguida, clique em para ver a ordenar o método .

Propriedades

Artigo: 247311 - Última revisão: 25 de janeiro de 2007 - Revisão: 6.3
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X para Macintosh
  • Microsoft Excel 2001 para Macintosh
  • Microsoft Excel 98 para Macintosh
Palavras-chave: 
kbmt kbautomation kbprogramming kbhowto KB247311 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 247311

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com