Página 1 de 1

[RESUELTO] Botón para limpiar celdas

Publicado: Mié Jul 08, 2009 10:38 am
por atomfeed
Hola a todos de nuevo.

Me gustaría crear un botón o similar para borrar el contenido, que se introduce manualmente, un rango de celdas, y así poder ir introduciendo datos cada vez que lo necesite. Pero mi nivel en hojas de cálculo es bastante limitado, como ya habeis podido comprobar. ¿Alguna idea?

En este http://user.services.openoffice.org/es/ ... =21&t=1192, hay una solución con macros para celdas con valores creados con ALEATORIO().

Gracias por adelantado!

Re: Botón para limpiar celdas

Publicado: Jue Jul 09, 2009 3:47 am
por mauricio
Hola a todos...

Perdona si es muy obvio, pero no te funciona, seleccionar y presionar la tecla suprimir. La verdad es que no preciso que es lo que quieres hacer, si quieres hacerlo con macros, el siguiente ejemplo borran solo las celdas con valores, textos y formulas, de tres rangos diferentes.

Código: Seleccionar todo

Sub Borrando1()
Dim oHojaActiva As Object
Dim oRango As Object

        oHojaActiva = ThisComponent.getCurrentController().getActiveSheet()
        oRango = oHojaActiva.getCellRangeByName("A1:C5")
        'Borramos solo los valores
        oRango.clearContents( 1 )
        
        oRango = oHojaActiva.getCellRangeByName("D2:E10")
        'Borramos solo los texto
        oRango.clearContents( 4 )

        oRango = oHojaActiva.getCellRangeByName("G1:K100")
        'Borramos solo las formulas
        oRango.clearContents( 16 )        
End Sub
El tema de borrado del contenido de celdas por código, lo trato en la página 210 de mis apuntes:

www.universolibre.org/archivos/Aprendiendo_OOoBasic.odt

Espero te sirva.

Saludos a todos

Mauricio

Re: Botón para limpiar celdas

Publicado: Jue Jul 09, 2009 9:47 am
por atomfeed
Estimado Mauricio,

el problema es que en mi teclado la tecla pone "Supr", por lo que a veces sólo borra las 4 últimas cifras... :shock: no, hombre, lo necesito para borrar una serie de celdas, sin tocar otras que no se deben modificar en ese momento. Así se hace de forma rápida y segura.

Cuando esté en casa lo miraré de usar. Y gracias!!

Re: Botón para limpiar celdas

Publicado: Jue Jul 09, 2009 2:43 pm
por GDELZO
Lo que yo hago en esos casos, cuando las celdas no estan juntas, con la tecla Ctrl apretada voy clickeando con el mouse en todos las celdas que deseo borrar, de alli le doy suprimir y listo, te comento que yo odio al mouse y soy full teclado, y uso el mouse para lo indispensable

Re: Botón para limpiar celdas

Publicado: Vie Jul 10, 2009 9:20 pm
por atomfeed
He usado tu solución, y me funciona solo la del borramos las fórmulas. Que conste que no tengo ni la más remota idea de usar macros, así que posiblemente el error sea mío.

Me gustaría mandar una tabla de ejemplo, pero el foro no permite subir ficheros .ods (???), para que más o menos se entienda lo que quiero hacer. Ya sé que se puede usar la tecla suprimir, organizar mejor la tabla y otras cosas. La idea es evitar selecionar celdas para borrarlas; imagínate que quien lo usa es una persona muy novata que lo único que debe hacer es:

1- introducir una serie de datos en unas celdas determinadas.
2- Usar los datos que le devuelve otras celdas de la tabla
3- Borrar los datos que introdujo en el punto uno.
4-Volver a empezar

Y esto en el menor tiempo posible. Mi idea es hacer una tabla a prueba de tontos: introduce dato, pulsa aquí para borrarlos y empieza de nuevo. Y que conste que la tabla es para usarla yo, no estoy llamando a nadie tonto. Había incluso pensado usar formulas de lógica del estilo= SI A1=0, THEN Rango "de celdas"=0 ELSE "Rango de celdas" no se modifica. Así, podría borrar toda una serie de celdas con introducir un "0" en la celda A1.

Pufff, no sé si lo he liado más... espero que lo entendáis. Mil gracias por vuestro tiempo.

Re: Botón para limpiar celdas

Publicado: Sab Jul 11, 2009 6:30 am
por mauricio
Puedes anexar tu archivo en formato ZIP, para que lo veamos, si quieres borrar TODO el contenido de las celdas, usas:

Código: Seleccionar todo

Sub Borrando4()
Dim oSel As Object

        oSel = ThisComponent.getCurrentSelection()
        
        'Borramos todo
        oSel.clearContents( 1023 )
End Sub
OJO, nota que te borrara lo que tengas seleccionado, combinalo con mi ejemplo anterior y podrás borrar cualquier rango.

Saludos a todos

Mauricio

Re: Botón para limpiar celdas

Publicado: Sab Jul 11, 2009 9:08 am
por atomfeed
ahí va la tabla... ;)

Re: Botón para limpiar celdas

Publicado: Lun Jul 13, 2009 3:03 am
por mauricio
El archivo que adjuntas es el que te envíe de ejemplo para otro tema, ¿es correcto?, si es así ¿cual es la pregunta?...

Re: Botón para limpiar celdas

Publicado: Mié Jul 15, 2009 9:09 am
por atomfeed
Sorry, me equivoqué de archivo, ahora va el bueno (espero...)

Re: Botón para limpiar celdas

Publicado: Mié Jul 15, 2009 6:32 pm
por mauricio
checalo

Re: Botón para limpiar celdas

Publicado: Mié Jul 15, 2009 9:42 pm
por atomfeed
Resuelto. Y muchas gracias y disculpa tanto lio.