[RESUELTO] Macro eliminar fila segun valor en celda

Discute sobre la aplicación de hojas de cálculo
Responder
yukumy
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm

[RESUELTO] Macro eliminar fila segun valor en celda

Mensaje 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:
Última edición por yukumy el Mié Feb 15, 2012 10:07 am, editado 1 vez en total.
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Mensaje 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.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro eliminar fila segun valor en celda

Mensaje 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
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Mensaje por fornelasa »

Hola Mauricio, un placer saludarte, a proposito....... se ve que los "vino tinto" te trataron muy bien, ¡¡¡que bueno!!! :super:

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
yukumy
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm

Re: Macro eliminar fila segun valor en celda

Mensaje 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:
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro eliminar fila segun valor en celda

Mensaje por mauricio »

______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Mensaje 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.
Adjuntos
SiNos.ods
Quitar Filas NO
(11.22 KiB) Descargado 2774 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
yukumy
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm

Re: Macro eliminar fila segun valor en celda

Mensaje 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!!!
OpenOffice 3.3.0 para Mac
Responder