Saltar al contenido

¿Cómo eliminar columnas específicas con VBA?

Recuerda que en la informática un error suele tener más de una resoluciones, por lo tanto aquí te mostramos lo más óptimo y mejor.

Solución:

Solo faltaba la segunda mitad de la declaración de la columna que le indicaba que eliminara la columna completa, ya que la mayoría de los rangos normales comienzan con una letra de columna, estaba buscando un número y no obtuvo uno. El “:” obtiene toda la columna o fila.

Creo que lo que buscabas en tu Range era esto:

Range("C:C,F:F,I:I,L:L,O:O,R:R").Delete

Simplemente cambie las letras de las columnas para que coincidan con sus necesidades.

Dice que desea eliminar cualquier columna con el título “Porcentaje de margen de error”, así que intentemos hacer esto dinámico en lugar de nombrar las columnas directamente.

Sub deleteCol()

On Error Resume Next

Dim wbCurrent As Workbook
Dim wsCurrent As Worksheet
Dim nLastCol, i As Integer

Set wbCurrent = ActiveWorkbook
Set wsCurrent = wbCurrent.ActiveSheet
'This next variable will get the column number of the very last column that has data in it, so we can use it in a loop later
nLastCol = wsCurrent.Cells.Find("*", LookIn:=xlValues, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'This loop will go through each column header and delete the column if the header contains "Percent Margin of Error"
For i = nLastCol To 1 Step -1
    If InStr(1, wsCurrent.Cells(1, i).Value, "Percent Margin of Error", vbTextCompare) > 0 Then
        wsCurrent.Columns(i).Delete Shift:=xlShiftToLeft
    End If
Next i

End Sub

Con esto, no tendrá que preocuparse por dónde se pegan/importan sus datos, siempre que los encabezados de las columnas estén en la primera fila.

EDITAR: Y si sus encabezados no son en la primera fila, sería un cambio realmente sencillo. En esta parte del código: If InStr(1, wsCurrent.Cells(1, i).Value, "Percent Margin of Error", vbTextCompare) cambiar el “1” en Cells(1, i) a cualquier fila en la que se encuentren sus encabezados.

EDIT 2: Cambió el For sección del código para tener en cuenta las columnas completamente vacías.

Si sostienes alguna indecisión o capacidad de enriquecer nuestro sección te mencionamos escribir un exégesis y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

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