Página 1 de 1

[RESUELTO] Macro eliminar fila segun valor en celda

Publicado: Mar Feb 14, 2012 4:25 pm
por yukumy
Hola! Primero de todo saludar que soy nueva en este foro y dar las gracias a todos los que soléis dar ayuda.
Bueno, recurro al foro porque ya no se que hacer ni donde buscar. No tengo ni idea de programar macros. Lo unico que voy consiguiendo es porque copio de aqui, pego de alla etc.
Tengo una hoja de calc que obtiene los datos de otra externa. Necesito que cuando en una de las celdas el valor sea "NO", se elimine la fila entera. No borrar, ELIMINAR. Supongo que lo mejor sería tener una macro ya que son muchas hojas y muchas filas donde esto va a suceder "todos los días". Lo ideal sería ejecutar la macro y que se eliminara en TODAS LAS HOJAS. Estoy desesperada ya. HELP ME PLEASE!! :?: :knock:

Re: Macro eliminar fila segun valor en celda

Publicado: Mar Feb 14, 2012 5:18 pm
por fornelasa
Hola, tengo unas dudas ¿la celda cual es? ¿esta en varias columnas o esta en una sola columna o son varias celdas?.
No se si podamos aclarar un poquitito mas tu consulta.

Por cierto, ¡¡¡¡bienvenida al foro!!!!,

Saludos, Federico.

Re: Macro eliminar fila segun valor en celda

Publicado: Mar Feb 14, 2012 5:42 pm
por mauricio
Como ya te comento mi amigo Federico, tienes que ser mucho más explicita cuando de macros se trata, lo mejor es que adjuntes el archivo a este tema para poder ayudarte, con datos minimos pero ilustrativos de tu problema para intentar ayudarte...

Saludos

Re: Macro eliminar fila segun valor en celda

Publicado: Mar Feb 14, 2012 5:47 pm
por fornelasa
Hola Mauricio, un placer saludarte, a proposito....... se ve que los "vino tinto" te trataron muy bien, ¡¡¡que bueno!!! :super:

Saludos, Federico.

Re: Macro eliminar fila segun valor en celda

Publicado: Mar Feb 14, 2012 6:31 pm
por yukumy
ok! subo un archivo de lo que viene siendo mi tabla en calc. Los datos de las filas están repetidos excepto la columna que me intersa. El fin de este archivo es para luego crear un csv e importar los datos a una web. Aqui están todas las ref que me da el proveedor. Digamos que en cada linea hay una referencia con todos los datos de ese articulo (descripcion, precio, cantidad, fotos....) En la última columna de mi archivo (coloreada de naranja) el dato reflejado es "SI" o "NO". Si esa columna pone "NO", esa ref. (osea toda la línea) me gustaría que se eliminara.
Solo necesito que la macro comprueba si esa columna contiene NO y si es así, borrar la línea.

Espero que os sirva mi archivo y mis explicaciones de novata. Y muchas gracias por responderme!!

:super:

Re: Macro eliminar fila segun valor en celda

Publicado: Mié Feb 15, 2012 1:26 am
por mauricio

Re: Macro eliminar fila segun valor en celda

Publicado: Mié Feb 15, 2012 4:01 am
por fornelasa
Hola, bueno, ante la falta de archivo voy asumir que esa columna que te interesa es la E (puede ser cualquiera).
Una opción, podemos crear una macro como la siguiente:
Sub EliminarFilas()
oFil = ThisComponent.GetCurrentSelection.Rows.Count - 1
oNom = ThisComponent.GetCurrentSelection.AbsoluteName
For a = oFil To 0 Step - 1
If ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName(oNom).GetCellByPosition(0, a).String = "NO" THEN
ThisComponent.CurrentController.ActiveSheet.GetCellRangeByName(oNom).Rows.RemoveByIndex(a,1)
End If
Next
end sub
Por ejemplo:
1) Selecciona primero el rango E1:E42
2) Despues corre el rectangulo-macro "Quitar filas que dicen NO" del archivo ejemplo.

Saludos, Federico.

Re: Macro eliminar fila segun valor en celda

Publicado: Mié Feb 15, 2012 10:07 am
por yukumy
Ups! juraría que lo había subido...debí de cerrar demasiado pronto y no se cargó... de todas formas el archivo que habéis hecho con la macro de eliminar filas ESTA GENIAL!!! Selecciono el rango, pincho y VOILÁ! Se eliminan las filas adecuadas.
Funciona a la perfección, es justo lo que necesita. No sabéis como me habéis ayudado.
Muchisimas gracias!!!