[RESUELTO] Macro eliminar fila segun valor en celda

Discute sobre la aplicación de hojas de cálculo

[RESUELTO] Macro eliminar fila segun valor en celda

Notapor yukumy » Mar Feb 14, 2012 4:25 pm

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
yukumy
 
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm

Re: Macro eliminar fila segun valor en celda

Notapor fornelasa » Mar Feb 14, 2012 5:18 pm

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
fornelasa
 
Mensajes: 3234
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Notapor mauricio » Mar Feb 14, 2012 5:42 pm

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
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Macro eliminar fila segun valor en celda

Notapor fornelasa » Mar Feb 14, 2012 5:47 pm

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!
Avatar de Usuario
fornelasa
 
Mensajes: 3234
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Notapor yukumy » Mar Feb 14, 2012 6:31 pm

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:
yukumy
 
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm

Re: Macro eliminar fila segun valor en celda

Notapor mauricio » Mié Feb 15, 2012 1:26 am

______________________________________________
"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
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Macro eliminar fila segun valor en celda

Notapor fornelasa » Mié Feb 15, 2012 4:01 am

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) 2502 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!
Avatar de Usuario
fornelasa
 
Mensajes: 3234
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro eliminar fila segun valor en celda

Notapor yukumy » Mié Feb 15, 2012 10:07 am

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
yukumy
 
Mensajes: 3
Registrado: Mar Feb 14, 2012 12:21 pm


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados