



En ocasiones, necesitamos invertir valores de una columna Excel, pudiendo aplicar macros.

En la columna A disponemos de una serie de países, deseando invertir la posición de los valores:
A | |
---|---|
1 | País |
2 | España |
3 | México |
4 | Colombia |
5 | Perú |
6 | Chile |
7 | Argentina |
8 | Ecuador |
9 | Venezuela |
10 | Bolivia |
11 | Guatemala |
12 | Costa Rica |
13 | Panamá |
- CREAR MACRO
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro deseada:
Escribir el código de la macro:
Sub InvierteColumna()
Dim Mi_Rango As Range
Dim Rango_2 As Range
Dim Invierte As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume NextxTitleId = "Invierte Columna Excel"
Set Rango_2 = Application.Selection
Set Rango_2 = Application.InputBox("Range", xTitleId, Rango_2.Address, Type:=8)Invierte = Rango_2.Formula
For j = 1 To UBound(Invierte, 2)
k = UBound(Invierte, 1)
For i = 1 To UBound(Invierte, 1) / 2
xTemp = Invierte(i, j)
Invierte(i, j) = Invierte(k, j)
Invierte(k, j) = xTemp
k = k - 1Next
Next
Rango_2.Formula = Invierte
End SubGuardar el libro con la extensión *.xlsm. Libro habilitado para macros.
- EJECUTAR MACRO
Ejecutar la macro. Mostrará ventana de invierte columna Excel.
Ir a: Seleccionar el rango: A2:A13.
Ir a: Pulsar el botón Aceptar. Verificar como muestra invertidos los valores del rango.


Para los que no sepan programar, sería mucho más sencillo numerar los países en la columna B, del 1 al 13. Y luego usar el botón de Ordenar, descendente