Hola: Tengo una planilla con 200 filas y muy seguido no utilizo todas las filas por lo que quiero ocultar las filas vacías excepto la primera fila. Luego al ingresar datos en la primera fila, que aparezca inmediatamente la segunda fila, y así sucesivamente hasta la ultima fila. Desde ya muy agradecido.
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Seguramente lo que pedís se podría realizar -dada la potencia de MS Excel- combinando Filtros Automáticos y un macro que contemple algunas consideraciones. Pero creo que existe algo mucho más adecuado para este tipo de ingreso de datos. Hace lo que pides y algunas cosas más. Se llama: Formularios. Debajo de la opción de menú "Datos", existe la opción "Formularios" que apunta a lo que solicitas. Para empezar necesitas una fila con títulos para cada columna. Estos serán, más tarde, los campos o indicadores para introducir la información de cada registro. Recuerda no dejar celdas en blanco entre estos títulos. Después, Párate en cualquiera de esos encabezados y clickea la opción "Datos", que se encuentra en la barra del Menú principal. Luego, escoge "Formularios...". Estas dos simples instrucciones arman una planilla o formulario de entrada de datos, mostrando sólo aquellos campos habilitados para la carga. Si tuviera fórmulas, mostrará el resultado pero no permitirá modificarlas. Este formulario permite ingresar datos -una línea por vez-en una plantilla que son volcados en tu matriz o base de datos. Facilita la visualización, permite agregar o deletear registros, etc. Nota que, ésto, habría tomado un centenar de líneas de programación en VBA si quisieras hacerlo "a mano." Creo que deberías echarle una mirada y ver cómo funciona. Obviamente se arma uno por cada archivo o tabla de Excel que quieras. Si no quieres ejecutar esas dos primeras instrucciones, puedes incorporar una simple linea de datos en un módulo de Visual Basic (Alt F11 para eactivar el Editor de VBA), como la siguiente: Sub MuestraForm() ActiveSheet.ShowDataForm End Sub Por supuesto, puede que necesites seleccionar el área del formulario primero en este caso la rutina quedaría de la siguiente manera Sub MuestraForm() Range ("B4") .select ActiveSheet.ShowDataForm End Sub Esto, claro está, en caso de que alguno de los encabezados estuviera en la celda B4. (Si no es así, simplemente, cambia la referencia a tu celda específica) Pero, siendo tan simple de operar, realmente no creo que valga la pena, agregar una macro... En definitiva: el diseño de un formulario en VBA es una tarea mayor, que implica múltiple controles y condicionales, para obtener algo que difícilmente se acerque a la utilidad que MS Excel ya tiene incluida "de fábrica". Pienso que esto contesta tu pregunta. Un abrazo! Fernando