Ordenar la información hacia el lado izquierdo.

Experto, espero me puedas ayudar, hace algún tiempo desde todoexpertos recibí una macro la cual funcionaba sin problemas, esta macro ordenaba toda la información hacia las celdas vacías al lado izquierdo.
Ejemplo: Lo que se tiene
        A B C D E
1 SI 05 04 GATO 04
2 07 40 08
3 NO SI CAL
4 SOL 15 01
Lo que se requiere
        A B C D E
1 SI 05 04 GATO 04
2 07 40 08
3 NO SI CAL
4 SOL 15 01
Y la macro en cuestión es esta:
Function QuitarEspacios(CeldaInicial As String, CeldaFinal As String)
CeldaInicialColumna = Mid(CeldaInicial, 1, 1)
CeldaInicialFila = Val(Mid(CeldaInicial, 2))
CeldaFinalColumna = Mid(CeldaFinal, 1, 1)
CeldaFinalFila = Val(Mid(CeldaFinal, 2))
For Fila = CeldaInicialFila To CeldaFinalFila
    For Columna = Asc(CeldaInicialColumna) To Asc(CeldaFinalColumna) - 1
        For ColumnaSiguiente = Columna + 1 To Asc(CeldaFinalColumna)
             Celda = Trim(Chr(Columna)) + Trim(Str(Fila))
             If Range(Celda).Value = "" Then
                CeldaSiguiente = Trim(Chr(ColumnaSiguiente)) + Trim(Str(Fila))
                CeldaSiguiente2 = Trim(Chr(ColumnaSiguiente + 1)) + Trim(Str(Fila))
                Range(Celda).Value = Range(CeldaSiguiente).Value
                Range(CeldaSiguiente).Value = ""
                Celda = CeldaSiguiente
             End If
        Next
    Next
Next
End Function
_____________________________________________________________________________________________
Sub llamar_macro()
   If QuitarEspacios("C3", "AP2575") Then
    End If
End Sub
Siendo C3:AP2575 el rango que debo ordenar.
La macro queda estacionada en:
Sub llamar_macro()
Muchas gracias por tu ayuda y por el apoyo a quienes no entendemos mucho de esta gran aplicación.

1 Respuesta

Respuesta
1
Pues estuve leyendo tu caso y creo que no hace falta una macro para lo que necesitas hacer, Excel cuenta con herramientas directas que te pueden ayudar
Sigue este procedimiento para ver si logras lo que necesitas.
1. Selecciona el rango que quieres procesar (ordenar)
2. Presiona la tecla F5 o la combinación de teclas Ctrl+I
3. En el cuadro que se muestra haz click en el botón inferior izquierdo (Especial...)
4. Allí escoge la opción Celdas en blanco, ubicado en la columna izquierda del cuadro de dialogo mostrado, y haz click en Aceptar
5. Las celdas vacías (que se van a eliminar), deben aparecer resaltadas, haz click derecho en cualquier lugar y en el cuadro mostrado escoge Eliminar... (o en vez de hacer click derecho presiona la combinación Ctrl + -) y en el cuadro que se muestra escoge la opción Desplazar celdas hacia la izquierda y haz click en Aceptar
Después de esto, y si todo anduvo bien, deberías lograr lo que quieres. Si te parece largo el proceso podría grabarse en una macro para que se ejecute cada vez que lo requieras, pulsando un botón o con una combinación de teclas (como funciona el Ctrl+C y el Ctrl+V)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas