Cómo utilizar macros para ordenar datos en varias columnas como una columna en Excel

Seleccione idioma Seleccione idioma
Id. de artículo: 247311 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Microsoft Excel no tiene un método integrado para ordenar una columna de estilo periodístico (periodísticas) de datos. Este artículo contiene una macro de ejemplo para ordenar los datos que está en un formato de columna de estilo periodístico.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Ordenar integrados

En Microsoft Excel, suelen utiliza la característica de ordenación para ordenar una lista. Una lista en Excel es una serie de filas de hoja de cálculo que contienen datos relacionados, tales como una base de datos de factura o un conjunto de nombres y números de teléfono de clientes. Puede utilizar una lista como una base de datos, en el que cada fila es un registro, y las columnas son campos. La primera fila de la lista normalmente tiene rótulos de las columnas, por ejemplo:
   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
				
si ordena esta lista en orden ascendente, por el primer trimestre de campo (columna A), el resultado sería como sigue:
   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 una columna de estilo periodístico

Columnas de estilo periodístico y columnas periodísticas son términos diferentes para el mismo tipo de formato de datos. En columnas de estilo periodístico, los datos rellena una columna y continúa en la parte superior de la columna siguiente. En este caso, los datos probablemente no tienen etiquetas para cada columna, por ejemplo:
   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
				
puede utilizar la macro de ejemplo en este artículo para ordenar columnas de estilo periodístico en orden ascendente. Si utiliza la macro de ejemplo en los datos anteriores, los resultados son los siguientes:
   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 la macro ordenación funciona como se describe, siga estos pasos:
  1. Abra un libro nuevo.
  2. Escriba los datos de ejemplo siguientes en la hoja 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. En el menú Herramientas , elija macro y, a continuación, haga clic en Editor de Visual Basic .
  4. En el menú Insertar , haga clic en módulo .
  5. Escriba el siguiente código en el módulo:

    Nota En el ejemplo siguiente se muestra cómo ordenar en orden ascendente. Puede cambiarlo modificando el valor de la "Order1: =" el argumento 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. En el menú Excel en Microsoft Excel X para Mac y en versiones posteriores de Excel para Mac o en el menú archivo de todas las demás versiones de Excel, haga clic en Cerrar y volver a Microsoft Excel .
  7. Seleccione A1:C6.
  8. En el menú Herramientas , elija macro y, a continuación, haga clic en macros . Seleccione la macro SortAllRangeData y, a continuación, haga clic en Ejecutar .
Todos los datos dentro del intervalo seleccionado está ordenados ahora y aparece como sigue:
   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
				

Referencias

Excel X para Mac y versiones posteriores

Para obtener más información acerca de cómo ordenar, haga clic en Ayuda de Excel en el menú Ayuda , escriba la ordenación , haga clic en Buscar y, a continuación, haga clic en un tema para verla.

Para obtener más información acerca de cómo utilice el método Sort desde el Editor de Visual Basic, haga clic en Ayuda de Visual Basic en el menú Ayuda , escriba el método de ordenación , haga clic en Buscar y, a continuación, haga clic para ver el método sort .

Excel 2001 para Mac

Para obtener más información acerca de cómo ordenar, haga clic en el Ayudante , escriba ordenar una lista , haga clic en Buscar y, a continuación, haga clic en un tema para verla.

Nota Si el Ayudante está oculto, haga clic en el Ayudante de Office en la barra de herramientas estándar .

Para obtener más información acerca de cómo utilice el método Sort desde el Editor de Visual Basic, haga clic en el Ayudante , escriba el método de ordenación , haga clic en Buscar y, a continuación, haga clic para ver el método sort .

Propiedades

Id. de artículo: 247311 - Última revisión: jueves, 25 de enero de 2007 - Versión: 6.3
La información de este artículo se refiere 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
Palabras clave: 
kbmt kbautomation kbprogramming kbhowto KB247311 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 247311

Enviar comentarios

 

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