Eliminar Columnas de acuerdo a valor especifico

Hola Buen día

Quisiera eliminar Columnas con una macro de acuerdo a el valor en la Fila 1 donde tengo ceros y unos para los cuales las columnas con cero se eliminen!

           A   B   C   D

   1      1   0   0    1  

2

3

4

Agradezco su Amable ayuda

2 respuestas

Respuesta
1

Aplica la siguiente macro

Sub eliminar()
'Por.DAM
    For i = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
        If Cells(1, i) = 0 Then Columns(i).Delete
    Next
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

No he recibido comentarios, podrías valorar la respuesta

Respuesta

Lo que debes hacer con tu macro es recorrer los registros primero y luego ir preguntando si es cero, elimina la columna, yo hice algo parecido en una macro pero debes adaptarla a tu caso, mira te voy a dejar un ejemplo solamente para que puedas ver la lógica, mi código lo que hace es eliminar una fila cuando los datos son iguales, si no entiendes bien me puedes decir y vemos como te ayudo, suerte

'primero identificar cantidad de registros

Sheets("D01M").Cells(2, 2).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
NumRows = Range("E1", Range("E1").End(xlDown)).Rows.Count - 1 
Range("E2").Select
For x = 1 To NumRows
valor = Range("E" & x).Value
If (x <> 1) Then
If (Range("A" & x) <> "") Then
If (Range("E" & x).Value = Range("E" & x - 1).Value And Range("F" & x).Value = Range("F" & x - 1).Value) Then
If (Range("A" & x).Value > Range("A" & x - 1).Value) Then
num1 = Range("J" & x).Value
num2 = Range("J" & x - 1).Value
suma = num1 + num2
Range("J" & x).Value = suma
Range("J" & x).Select
Selection.NumberFormat = "0.00"
Rows("" & x - 1).Select
Selection.Delete Shift:=xlUp
Else
num1 = Range("J" & x).Value
num2 = Range("J" & x - 1).Value
suma = num1 + num2
Range("J" & x - 1).Value = suma
Range("J" & x - 1).Select
Selection.NumberFormat = "0.00"
Rows("" & x).Select
Selection.Delete Shift:=xlUp
End If
End If
End If
End If
Next

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas