VíctorManuelSantosMaldonado635 publicó en la clase Caso práctico: Modificar fórmulas existentes hace 1 semana
Considero que la macro, al encontrar la primera celda vacía, se dará por terminada ya que si no hay fórmula se va a Exit Sub. ¿Es correcta mi aprteciación?
Respuestas
JuliaBravo490 respondió hace hace 6 días:
Hola, Víctor Manuel. Muy buena observación.
Tu apreciación es casi correcta, pero con una precisión:
La macro no se detiene al encontrar la primera celda vacía, sino al encontrar una celda sin fórmula.
Cuando eso pasa, Exit Sub detiene toda la macro, no solo esa celda.
La macro no se detiene al encontrar la primera celda vacía, sino al encontrar una celda sin fórmula.
Cuando eso pasa, Exit Sub detiene toda la macro, no solo esa celda.
Para que la macro siga revisando todas las celdas, lo mejor sería :
For Each Celda In Selection If Celda.HasFormula Then Longitud = Len(Celda.Formula) Fx = Right(Celda.Formula, Longitud - 1) Fx2 = "=IFERROR(" & Fx & "," & Chr(34) & "No aplica" & Chr(34) & ")" Celda.Formula = Fx2 End If Next Celda
Así ignora las celdas sin fórmula y sigue trabajando con el resto.
¡Muy bien por cuestionarlo! Así se aprende mucho más a fondo.