Eliminar la fila i y la siguiente fila en VBA
Estoy buscando ejecutar un bucle for que detecte un valor cero y elimine las filas específicas. El problema que tengo es que la columna objetivo tiene celdas fusionadas (2 filas fusionadas).
El código de abajo funciona, pero solo elimina la primera de las dos filas, dejando la otra atrás. ¿Cómo puedo expandir i para incluir la siguiente fila hacia abajo?
Gracias de antemano.
Dim i As Long, Lr As Long
Lr = Range("A" & Rows.Count).End(xlUp).Row
For i = Lr To 1 Step -1
If Range("O" & i).Value = "" Then GoTo NextI
If Range("O" & i).Value = 0 And IsNumeric(Range("O" & i).Value) Then Rows(i).Delete
NextI:
Next i
davy.ai
Para expandir “i” e incluir la siguiente fila hacia abajo (cuando la columna objetivo son celdas fusionadas), puedes agregar una verificación adicional para verificar si la fila actual forma parte de un rango de celdas fusionadas y, si lo es, eliminar todo el rango. Aquí tienes un fragmento de código actualizado que incluye esta verificación:
Este código verifica si la celda actual es parte de un rango de celdas fusionadas utilizando la propiedad
MergeCells
. Si lo es, verifica si todo el rango de celdas fusionadas está en blanco utilizando la funciónCountBlank
. Si lo está, se elimina todo el rango de celdas fusionadas (es decir, toda la fila). Si la celda actual no es parte de un rango de celdas fusionadas, se elimina la celda individual si su valor es 0 y es numérico, como antes.