Eliminar múltiples columnas con macro simple [cerrado]

1

Necesito tomar datos de vuelo TSPI y eliminar aproximadamente 30-40 columnas, cada registro contiene aproximadamente 3600 filas por hora. Una vez que se ha eliminado, necesito reorganizar las columnas sobrantes. Me gustaría hacer esto de la manera más fácil y rápida, si hay una. No estoy seguro de cómo publicar un ejemplo de los datos de Excel en estos foros.

He intentado este código pero me sale el error de tiempo de ejecución 9

Sub sbVBS_To_Delete_Specific_Multiple_Columns () Hojas ("Hoja1"). Rango ("A: B, H: L, P: Q, S: BJ"). Toda la columna. Eliminar End Sub

Nm. Me di cuenta de que la hoja se llamaba 12-20-2016, así que tuve que cambiar la hoja1 a 12-20-2016.

Christopher Rogers
fuente
Bienvenido a Superusuario. Los nuevos miembros suelen confundir esto con un sitio de servicio donde haremos el trabajo. Es una comunidad de preguntas y respuestas; una comunidad donde se hacen preguntas específicas después de haber intentado algo y quedarse atascado. Agregue detalles de lo que ha intentado hasta ahora, incluidos los scripts, el código o las fórmulas, y trataremos de ayudarlo. Puedes usar Formato de texto como tabla para dar formato a su ejemplo para publicar aquí. Si necesita más información sobre hacer preguntas, echa un vistazo a Cómo preguntar en el centro de ayuda .
CharlieRB
1
No está claro a partir de la última oración que agregó si esto se refiere solo al mensaje de error en su fórmula, pero aún tiene una tarea en la que necesita ayuda, o si resolvió su problema y ya no necesita la ayuda de la gente aquí. ¿Puedes aclarar? Gracias.
fixer1234

Respuestas:

2

Ordenar

Es posible ordenar columnas, no solo filas, de datos. Suponiendo que tenga algún tipo de encabezado en la fila 1 que se pueda usar como clave de clasificación, puede hacer lo siguiente:

1 Presione Ctrl + Fin para ir a la última fila y columna usadas

2 Pulsa Mayús + Ctrl + Inicio para seleccionar todo entre la primera celda y la última celda utilizada

3 Ir a Datos | Ordenar para abrir la interfaz de clasificación

4 Haga clic en Opciones en la parte superior de la interfaz de clasificación

5 En Orientación, seleccione Ordenar de izquierda a derecha y haga clic en Aceptar

Ahora tendrá la opción de por qué fila ordenar. Seleccione una fila que contenga algún valor que desee ordenar, luego haga clic en Aceptar. Las columnas en blanco se ordenarán hasta el final y luego se pueden ignorar.

Eliminar a medida que avanza

Esto es más para referencia futura, pero puede ser mejor seleccionar columnas completas y eliminarlas en lugar de eliminar solo su contenido. Para hacer esto:

1 Haga clic en la letra del encabezado de la columna en la parte superior para seleccionar toda la columna

2 Haga clic con el botón derecho en la letra del encabezado de la columna y elija Eliminar, o vaya a la pestaña Inicio | Grupo de células | Eliminar | Eliminar columnas de hoja

Editado para agregar:

Macro it

Como se señaló, usted solicitó una macro en el título de la pregunta. Si bien los métodos que describí podrían automatizarse con una macro grabada, aquí hay un escrito rápido que eliminará cualquier columna completamente vacía del rango utilizado.

Sub ClearEmpties()
    'Delete any entirely empty column in the workshee's used range

    Dim l As Long

    For l = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
        If WorksheetFunction.CountA(Columns(l)) = 0 Then
            ActiveSheet.Columns(l).EntireColumn.Delete
        End If
    Next l

End Sub

Esto recorre cada columna en el rango utilizado, verifica si hay celdas que no estén en blanco en la columna, y si no hay ninguna, elimina toda la columna. Espero eso ayude.

Werrf
fuente
Esta es ciertamente una buena manera de hacerlo. Pero considerando el título, " Eliminar múltiples columnas con macro simple ", Creo que el OP estaba buscando algo más automatizado.
CharlieRB
Buen punto, me lo perdí en el título del OP: sin la etiqueta Excel VBA buscaba una solución que no fuera macro Voy a editar para añadir.
Werrf