Excel

Hola,
Quiero hacer lo siguiente.
Introducir datos en una hoja de calculo. Estos datos quiero que se vuelquen en otra pestaña de la misma hoja de calculo en función de si son de tipo A o de tipo B.
Es decir, tendría 3 pestañas, una donde introduzco los datos de tipo a y b, la segunda pestaña donde se deberían copiar solo los de tipo A, y la tercera hoja, donde se deberían pegar los de tipo B.
El problema es que si lo hago con condicionales, en la segunda y tercera hojas, me quedan filas en blanco y quiero que éstas no queden.
¿Sabes si hay alguna fórmula o macro que me elimine las filas enteras, (no borrar datos, sino eliminar filas)?
He utilizado una fórmulas tipo
=SUMAR.SI(A!$K100;"=B";A!A100)
=SUMAR.SI(A!$K100;"=C";A!A100)
Gracias

1 Respuesta

Respuesta
1
Para hacer lo que pides se me ocurren dos opciones, la primera es validar los datos al momento del ingreso de manera que los vaya copiando a las hojas adecuadas, habría que aclarar si necesitas los datos vinculados o solo los valores.
La otra opción es recorrer toda la columna de las hojas en donde tienes los datos pegados con los condicionales e ir eliminando las filas que no contengan datos, prueba este código a ver si hace lo que necesitas:
----- Ojo con las pruebas! Los cambios realizados mediante macros no se pueden deshacer por lo que es aconsejable ensayar en un libro de pruebas con datos reales y cuando estés seguro de que funciona bien si lo corres en el original-----
Sub Eliminar()
Range("A2").Select
Do While ActiveCell.formula <> ""
If activecell.value="" Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Esa macro recorre las celdas desde A2 (lo puedes cambiar) hacia abajo y va eliminando las filas cuyo resultado de la fórmula haya sido ""
Espero que sea lo que necesitas, de ser así te agradeceré finalizar la pregunta con una valoración acorde con la calidad y oportunidad de la misma, de lo contrario pregunta que con mucho gusto te ayudo.
Gracias por tu respuesta.
Perdona pero no se ni por donde empezar para insertar ese código.
He probado varios accesos, pero no se donde colocarlo, como grabarlo y como decirle a que hoja debo vincularlo.
Por otro lado, cuando dices ... cuyo resultado de la fórmula haya sido "", ¿he de especificar entre las comillas un resultado y reservar una celda en cada fila para esos resultados? Quiero decir, que haya celdas donde la macro pueda vincular con el resultado si procede o no eliminarlas...
Gracias por el inters mostrado..
Un saludo
Marcos
Ok, disculpa pero asumí algunas cosas sin haber preguntado antes.
Pienso que deberías vincular la información con fórmulas como
=SI(A!$K100="B";A!A100;"")
De manera que si no es B entonces arroje como resultado "" (eso es una cadena vacía y se utiliza para no visualizar nada cuando no se debe poner ningún dato en la celda)
Bueno, ahora lo del código, estando en tu libro oprimes ALT + F11 eso te abre el editor de VBA (también lo puedes hacer por el menú herramientas, macro, Editor de VBA), después verifica por el menú ver de ese editor que esté marcada una opción llamada "Explorador de proyectos" una vez se ven los nombres de los libros a la izquierda de la pantalla (como si fuera el explorador de Windows) seleccionas el libro en el que quieres que se haga la eliminación.
Una vez seleccionado te vas por el menú insertar y escoges Módulo, eso te abre un editor de texto en blanco a la derecha de la pantalla... ahí pegas el texto que te envié en la primera respuesta. Cierras el editor de VBA y quedas otra vez en excel.
Ahora, para ejecutar el código, te ubicas en la hoja en la que quieres eliminar las filas en blanco, ta vas por el menú herramientas, seleccionas macro, macros, eso te abre una pantalla con una lista de macros (solo debe haber una... Eliminar)... le das ejecutar... y listo.
Me cuentas como te fue.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas