Eliminar columna dependiendo de contenido

De TE quisiera una ayuda con esta cnsulta:

Qusiiera eliminar mediante una macro las columnas de una hoja que contengan una palabra especifica, es decir:

"Si columna = "CONDICION" then ' "CONDICION" es la palabra que contiene la seegunda celda de la columna y asi hay varias que tienen la misma palabra

Eliminar"

next jejej

1 Respuesta

Respuesta
1

. 17.01.17 #VBA eliminar columnas por condición

Buenas noches, Juan Fernando

Desde luego, hay diversas formas de resolverlo.

Ciñéndome a lo que solicitas, la siguiente rutina cumple el objetivo.

Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:

Sub ElimColum()
'---- Variables modificables ----
'=== JUAN FERNANDO, modifica estos datos de acuerdo a tu proyecto:
CONDICION = "Palabra" 'reemplazar por la palabra que determina si se elimina la columna o no
FilaObj = 2 'fila de la página donde buscar la palabra clave
'---- fin Variables
'
'---- inicio de rutina:
'  
CantCol = ActiveSheet.UsedRange.Columns.Count
CONDICION = UCase(CONDICION)
Application.ScreenUpdating = False
For LaColumna = CantCol To 1 Step -1
'test = Cells(FilaObj, LaColumna).Value
If Trim(UCase(ActiveSheet.Cells(FilaObj, LaColumna).Value)) = CONDICION Then
    ActiveSheet.Cells(FilaObj, LaColumna).EntireColumn.Delete
    cont = cont + 1
End If
Next
ElMensaje = IIf(cont = 0, "NO SE ELIMINO COLUMNA ALGUNA, porque" & Chr(10) & "no se encontró " & CONDICION & " en el rango.", "Se eliminaron: " & cont & " columna" & IIf(cont > 1, "s", ""))
TipoMens = IIf(cont = 0, vbCritical, vbInformation)
ElTitulo = IIf(cont = 0, "NO SE HIZO NADA", "TERMINADO!")
Application.ScreenUpdating = True
MsgBox ElMensaje, TipoMens, ElTitulo
End Sub

Nota que, al principio del código, hay unas variables -explicadas- para que lo adaptes a tu archivo.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas