Macro para invertir valores de una columna Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010Truco compatible con Excel 2007

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

Macro para invertir valores de una columna Excel

En la columna A disponemos de una serie de países, deseando invertir la posición de los valores:

 A
1País
2España
3México
4Colombia
5Perú
6Chile
7Argentina
8Ecuador
9Venezuela
10Bolivia
11Guatemala
12Costa Rica
13Panamá
  • CREAR MACRO
  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro deseada:

  4. 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 Next

    xTitleId = "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 - 1

    Next

    Next

    Rango_2.Formula = Invierte
    End Sub

  5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

 
  • EJECUTAR MACRO
  1. Ejecutar la macro. Mostrará ventana de invierte columna Excel.

    Ventana de rango
  2. Ir a: Seleccionar el rango: A2:A13.

  3. Ir a: Pulsar el botón Aceptar. Verificar como muestra invertidos los valores del rango.

En ocasiones, necesitamos invertir valores de una columna Excel, columna A en C
Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.