Voy a transcribir una partecita de un codigo mio:
Bueno, si se toman un tiempito, y leen con atención los Rem ubicados a la derecha de cada linea de codigo, van a entender que sucede. Cuando se eliminan todas las filas, si el control tenia mucha cantidad, digamos cientos, se puede producir el tan temible "Error de Automatizacion". El error, aunque parezca extraño, sucede en forma aleatoria, una vez cada tanto, y se produce cuando se intenta ejecutar FlexGrid.Rows =0. ¿Que puede estar mal en esa linea? Pues bien, si el Control tenia muchas Filas, esa linea de codigo puede generar error interceptable. ¿Y entonces como solucionarlo? ¿Esto no es terrible? Encontrarse con un error que no depende de uno es desolador!!! Pero a no alarmarse, ¿que tal si lo vaciamos de a poco? Increiblemente, si se pone la linea FlexGrid.Rows=1, antes de FlexGrid.Rows=0, tal como se ve arriba, ya nunca mas se produce el error. Si les ha sucedido, esta es la solución, o tal vez, han encontrado algo mejor. Comenten por favor. Cualquier aporte estará bueno. Entre todos podemos hacer algo bueno, ¿no? Suerte con sus códigos.
PD: Ya seee!!!, para que poner tantas Filas!!!!, Si pensaste esto en cierta forma tenés razón, pues desconcentra al Usuario, con tanta cantidad. Hay que evitarlo en lo posible, cuanto menos mejor. Pero hay veces que no se puede evitar, especialmente cuando se combinan celdas en forma vertical. Esto sucede por ejemplo cuando se trabaja con años, meses, y días.