¿Cómo eliminar ciertas columnas por macro?

Hola, me preguntaba si me pueden ayudar ya que requiero hacer una macro que elimine ciertas columnas. Tengo unas bases de datos que cambian sus títulos constantemente, por lo que deseo eliminar por ejemplo: en la columna "A" tengo a los nombres de los empleados, en la columna "B" tengo su registro interno y en la columna "C" tengo el importe de su sueldo diario, en la columna "D" me aparece su edad, estos con sus respectivos títulos, en la fila "5", pero deseo eliminar la columna donde aparezca la edad, pero al ser de diferentes localidades cada vez que genero el reporte y lo exporto a excel, la columna de la edad me la ubica en diversas columnas ejemplo en la columnas "F" lo vuelvo a generar y me aparece la edad en la columna "J" y solo quiero que me elimine la columna "edad" la cual cambia de ubicación, pero siempre aparece con el titulo en la fila "5" y siempre dice "edad".
Espero me puedan auxiliar con esto, muchas gracias...

1 respuesta

Respuesta
1
Utiliza este macro:
Sub elimina_edad()
Dim c As Integer
Dim i As Integer
c = Application.WorksheetFunction.CountA(Range("A5:iv5"))
For i = 1 To c
If UCase(Cells(5, i)) = "EDAD" Then
Cells(5, i).EntireColumn.Select
Selection.Delete
Exit For
End If
Next
[a5].Select
End Sub
Eliminara la columna que tenga el rotulo "edad" en la fila 5
No olvides cerrar la pregunta
Disculpa tanta molestia pero si deseara que esta macro me realizara la misma operación para otros títulos de celda, ¿qué tendría que hacer?
Muchas gracias por tu paciencia.
En ese caso debes usar el comando "or"
Así:
Sub elimina_edad()
Dim c As Integer
Dim i As Integer
c = Application.WorksheetFunction.CountA(Range("A5:iv5"))
For i = 1 To c
If UCase(Cells(5, i)) = "EDAD" Or UCase(Cells(5, i)) = "NOMBRE" Then
Cells(5, i).EntireColumn.Select
Selection.Delete
i = 1
End If
Next
[a5].Select
End Sub
Así si la celda contiene "EDAD" o "NOMBRE" elimina columna
¿Ahora si?.
No olvides CERRAR la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas