[RESUELTO] Sumar un decimal en una celda clicando un botón

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
petenondolet
Mensajes: 5
Registrado: Vie Oct 12, 2018 1:50 pm

[RESUELTO] Sumar un decimal en una celda clicando un botón

Mensaje por petenondolet »

Hola, buenos días. Llevo un buen rato intentando hacer una mejora en mi hoja de cálculo y no lo consigo.

Querría que con un solo clic de ratón sobre un botón instalado en una celda se le sumara 0,1 al valor númerico de la celda de al lado. En esa celda de al lado no hay ni letras ni fórmulas, sólo una cifra baja, entera o con un decimal.

Lo he intentado sin macros (mejor que pudiera ser sin ellas), también con botones conectados a una macro creada por mí, pero no hay manera de evitar los códigos unas veces 502, otras 509, otras 522, otras 523. Ya instalé el JRE de Java, ya habilité las referencias iterativas en herramientas>opciones>libreoffice calc>calc, pero no consigo lo que quiero. El código 523 habla de un problema de "valor de destino", pero ignoro qué es eso y me encuentro sin fuerzas para averiguarlo.

También lo he intentado habilitando una casilla de verificación, pero no soy capaz de hacer que diga otra cosa más que "verdadero" o "falso" alternativamente (o mensajes similares que yo predetermine), cuando lo que yo quiero es sumar una décima.

Agradecería la ayuda. Tengo la versión 6.1.1 en windows 10 de Libreoffice, y la 4.1.5 de OpenOffice. Gracias.
Última edición por fornelasa el Sab Oct 13, 2018 4:01 am, editado 3 veces en total.
Razón: Marcar tema cómo resuelto correctamente.
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Sumar un decimal en una celda clicando un botón

Mensaje por fornelasa »

Querría que con un solo clic de ratón sobre un botón instalado en una celda se le sumara 0,1 al valor númerico de la celda de al lado. En esa celda de al lado no hay ni letras ni fórmulas, sólo una cifra baja, entera o con un decimal.
Si hubiera entendido bien aquí un posible ejemplo de como hacerlo.
Nota: de ser necesario, por la configuración regional de cada país tal vez sea necesario cambiar el . (México) por la , (España)

Saludos, Federico.
Adjuntos
decimal.ods
Agregar decimal a celda.
(10.29 KiB) Descargado 268 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!
petenondolet
Mensajes: 5
Registrado: Vie Oct 12, 2018 1:50 pm

Re: [SOLUCIONADO]Sumar un decimal en una celda clicando un b

Mensaje por petenondolet »

Gracias, Fornelasa, por tu intento, pero no me ha servido de gran cosa porque la aplicación, al abrirse, me advierte de posibles problemas con las macros y, una vez abierta, se me presenta un botón y una casilla con un número, pero no entiendo cómo se ha llegado hasta ahí, ni funciona según lo que yo pretendo.

Sin embargo, yo, por mi cuenta, miembras esperaba respuesta, he encontrado la solución.

Hacerlo mediante macros era el camino acertado, pero yo lo definía con el entorno gráfico enteramente (herramientas>macros>grabar macro>....>finalizar grabación) y quedaba creada la macro, pero no servible.

Es mejor herramientas>macros>editar macros. En seguida se abre una página de texto, acto seguido hay que desplegar "mis macros y diálogos" (arriba a la izquierda), después "standard" y "Module1". A continuación, en la parte derecha, debajo del último End Sub que uno encuentre (intercalando una línea en blanco), se pega esto que encontré en algún sitio sin las comillas primeras y últimas:

"Sub Sumard3
oSheet = ThisComponent.CurrentController.ActiveSheet
oCell = oSheet.getCellrangeByName ("D3")
Value = oCell.Value
oCell.Value = value + 0.1

End Sub"

No hay que olvidar, acto seguido, compilar, que no sé qué es, en el botón que está inmediatamente a la derecha del cuadro de diálogo "[Mis macros y diálogos]"; además, por si acaso, también pincho en el icono de grabar. Después, cerramos.

Esta es la macro que sí entiende mi LibreOffice. El nombre de "Sumard3" lo he puesto yo y la celda que experimenta la suma es la D3.

Queda crear el botón en ver>barras de herramientas>controles de formulario (para esto hay más ayudas en la red). Cuando ya el botón esté creado, se configura pinchando en él con el botón derecho y se le enlaza con la macro que hemos creado en control>sucesos>ejecutar una acción. Hasta ese instante el botón ha tenido que estar en "modo diseño", que se habilita y deshabilita en el desplegable que aparece en ver>barras de herramientas>controles de formulario, mencionado antes.

Ignoro si la instalación de JRE de Java que hice cuando daba palos de ciego y la habilitación de las iteraciones, de las que hablé al presentar el tema, eran necesarias.
Última edición por petenondolet el Dom Oct 14, 2018 6:28 pm, editado 1 vez en total.
OpenOffice 4.1.5 en Windows 10
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por PepeOooSevilla »

Hola.

Aunque lo has dado como RESUELTO te comento que para adentrarse en el mundo de las macros para OpenOffice/LibreOffice, lo primero que has de hacer es leer, releer y estudiar el libro Aprendiendo OOo Basic de nuestro compañero mauricio y, también, visitar y estudiar las páginas Manuales de Apache OpenOffice en español: Basic y Basic OpenOffice: Apache OpenOffice Basic en español de nuestro compañero SLV-es.

Las macros son muy poderosas pero también muy frustrantes cuando no te dan el resultado esperado. Por eso te recomiendo primero que estudies los enlaces citados y segundo, que no te canses de hacer pruebas una y otra vez.

Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
petenondolet
Mensajes: 5
Registrado: Vie Oct 12, 2018 1:50 pm

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por petenondolet »

Muchas gracias por los ánimos y la documentación.

Saludos.
OpenOffice 4.1.5 en Windows 10
xiseme
Mensajes: 1918
Registrado: Lun Nov 24, 2008 1:13 pm

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por xiseme »

... estudies los enlaces citados ...
De hecho el código de fornelasa

Código: Seleccionar todo

Sub Main
    odoc = ThisComponent
    ctrl = odoc.CurrentController
    hoja = ctrl.ActiveSheet
      B1 = hoja.getCellRangeByName("B1")
B1.Value = B1.Value + 0.01
End Sub
y el que dices que has encontrado por ahí

Código: Seleccionar todo

Sub Sumard3
oSheet = ThisComponent.CurrentController.ActiveSheet
oCell = oSheet.getCellrangeByName ("D3")
Value = oCell.Value
oCell.Value = value + 0.1

End Sub
es prácticamente el mismo.
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco.
Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
petenondolet
Mensajes: 5
Registrado: Vie Oct 12, 2018 1:50 pm

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por petenondolet »

Gracias, xiseme. A los principiantes nos parece que no se parecen en casi nada las dos redacciones. Las expresiones "odoc", "ctrl" y "hoja", que parecen ser importantes porque van ante un signo "=", no se encuentran más que en una redacción. En la otra hay otras cosas.

Ahora tengo una pregunta relacionada con esto. Resulta que yo trabajo con cuatro ordenadores alternativamente, según el momento y el lugar. Tengo mi trabajo en la nube y de esa forma consigo tener todo sincronizado permanentemente.

Me ha dado la impresión, por el poco rato que he podido trabajar este fin de semana, que va a ser necesario crear las macros en los cuatro ordenadores uno por uno, no así los botones, que sí me aparecen sincronizados. ¿Es cierta mi impresión?

Otra cosa. Deduzco que si alguna vez tengo que formatear alguno de los ordenadores, tendré que volver a crear las macros en él de nuevo. ¿Sería posible guardar el paquete de LibreOffice con las macros incorporadas y poder instalarlo donde yo quiera?

Otra cosa más. Precisamente la casilla en la que quiero que se sumen esos decimales la tengo enlazada con otra hoja de cálculo (llamémosle "DESTINO"), también de LibreOffice. Desde que he introducido todos estos cambios, cada vez que abro el archivo "destino", me sale un molesto mensaje que dice "Se desactivó la actualización automática de enlaces externos". ¿Tiene relación con estos cambios y estas macros?

Muchas gracias por vuestra atención.
OpenOffice 4.1.5 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por fornelasa »

petenondolet, en base a los datos que se tenían hasta el momento de la respuesta, te comento lo siguiente:
Si hubieramos analizado correctamente la macro del archivo, entonces nos hubiéramos dado cuenta que solo debimos haber cambiado B1 por D3 y 0.01 por 0.10

Recuerda que en ningún foro incluyendo este, se imparte formación, es un foro para atender preguntas puntuales, también las reglas del foro (que parece no leímos) dicen: una pregunta por tema.
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!
petenondolet
Mensajes: 5
Registrado: Vie Oct 12, 2018 1:50 pm

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por petenondolet »

Pido disculpas por acumular preguntas. No volverá a ocurrir. Te aseguro que me leí el apartado “cómo hacer preguntas” y otros, pero la frase “Recuerde: nueva pregunta, nuevo tema” se me pasó por alto.

Cuando hice la pregunta, yo no tenía la fórmula de la macro. Mientras esperaba vuestra amable respuesta, seguí investigando, y un sobrino mío, que tampoco conocía la solución pero es más hábil que yo buscando en páginas inglesas, encontró esa fórmula. Probé con ella y, después de varios intentos fallidos por errores de sintaxis, funcionó.

Fue entonces cuando volví a este foro para avisar de que ya no necesitaba ayuda y, de paso, explicar cómo lo había hecho pormenorizadamente, pensando en otros principiantes como sólo un principiante se molesta en hacerlo, pues es capaz de hacerse cargo de en qué situación se encuentran. Los que ya han superado esa fase, es lo más normal del mundo que tengan menos noción de ella. A veces, los profesores que más saben no son los mejores profesores.

Te agradezco mucho el rato que le dedicaste a prepararme esa hoja con una celda rellena con un 0,30 y otra con un botón, pero el botón a mí no me funciona y eso me desanimó a indagar más en la hoja. Por otra parte, soy demasiado principiante como para no necesitar que me echen una mano sugiriéndome la ruta donde poder encontrar la fórmula. Al fin y al cabo, abrí el tema en la sección principiantes. Tu fórmula la conocí cuando xiseme tuvo la amabilidad de pegarla en este tema.

A mí no me interesa la informática en sí misma, sino sólo para salir del paso en una aplicación de ella para mi trabajo, que es a lo que le dedico mi tiempo. Por cierto, por mi trabajo conozco algo de códigos lingüísticos, y voy a tener el atrevimiento de aconsejarte usar con menos expresividad las personas gramaticales. Cuando dices "Si hubieramos analizado correctamente la macro del archivo, entonces nos hubiéramos dado cuenta que solo debimos..." yo lo interpreté hasta ahora mismo como una auténtica primera persona gramatical, como si estuvieras hablando de ti y tus colegas, y me preguntaba a qué fórmula te referías, si la que yo puse la coloqué con el asunto RESUELTO. Ahora me doy cuenta de que me estabas regañando con ese plural de cortesía que se entiende bien en la lengua hablada, pero mal en la escrita. Si me tienes que volver a reconvenir, hazlo sin miramientos en la segunda persona, no te preocupes.

Gracias y saludos cordiales.
OpenOffice 4.1.5 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO] Sumar un decimal en una celda clicando un bot

Mensaje por fornelasa »

petenondolet, que bueno que tu consulta está resuelta.
Si tienes más consultas por favor abre un hilo nuevo respetando las normas del 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!
Responder