[RESUELTO]Copiar celdas hoja visible a hoja oculta,

¿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
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

[RESUELTO]Copiar celdas hoja visible a hoja oculta,

Mensaje por senda678 »

Hola buenos días,

He estado buscando por el foro pero no lo he encontrado.

He visto como copiar celdas a otras hojas, pero no es exactamente lo que necesito.

Os explico un poco.

Voy a crear unas hojas de trabajo, donde mis trabajadores tienen que ir escribiendo los datos que van haciendo, y lo que me gustaría es que todo lo que escriban lo copie a otra hoja oculta. Y ademas si ellos por ejemplo han escrito en la celda B2 o la que sea, y despues lo borran y ponen otra cosa, que se haya copiado lo primero que han escrito y luego lo nuevo, que me copie todo aunque ellos lo borren.

Es para hacerles un control para que no puedan manipular datos.


Muchisimas gracias
Última edición por senda678 el Lun Ago 10, 2020 10:02 am, editado 1 vez en total.
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: Copiar celdas hoja visible a hoja oculta,

Mensaje por senda678 »

Respecto al comentario de antes, no me importaria que la hoja no estuviese oculta.
Pero lo de que vaya copiando todo lo que van escribiendo si, y aunque ellos lo borren, lo haya copiado ya, y así podría controlar lo qe hacen.

Gracias de nuevo
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Copiar celdas hoja visible a hoja oculta,

Mensaje por PepeOooSevilla »

Hola.
En el archivo adjunto va un ejemplo. Tendrás que modificar según tu necesidades.
Este es el código asociado al suceso "Contenido cambiado" de la hoja "DATOS".
La hoja "BITACORA_DATOS" puedes ocultarla si quieres, no afecta a la macro.

Código: Seleccionar todo

REM *** BASIC ***
Option Explicit

Sub GuardarCambiosCeldas()
' Suceso: Contenido cambiado
	Dim DocCalc As Object
	Dim HojaAuxiliar As Object
	Dim Seleccion As Object
	Dim ContenidoActual As String
	Dim DireccionAbsoluta As String
	Dim FilaLibre As Long
	
	DocCalc = ThisComponent
	Seleccion = DocCalc.getCurrentSelection()
	If Seleccion.getImplementationName() = "ScCellObj" Then
		DireccionAbsoluta = Seleccion.AbsoluteName
		ContenidoActual = Seleccion.getString()
		HojaAuxiliar = DocCalc.getSheets.getByName("BITACORA_DATOS")
		With HojaAuxiliar
			FilaLibre = .getCellRangeByName("B1").getValue()
			'Comenzamos en la Columna A, Fila 4 de la hoja BITACORA_DATOS
			.getCellByPosition(0, 3 + FilaLibre).setString(DireccionAbsoluta)
			.getCellByPosition(1, 3 + FilaLibre).setString(ContenidoActual)
			.getCellByPosition(2, 3 + FilaLibre).setValue(Now())
		End With
	End If
End Sub
Con un filtro automático puedes consultar la celda que te interese y ver las modificaciones que ha sufrido a lo largo del tiempo.
Saludos cordiales.
Adjuntos
COPIAR_MODIFICACIONES_OTRA_HOJA.ods
LibO Calc 6.4.5
(13.23 KiB) Descargado 250 veces
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.
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: [RESUELTO]Copiar celdas hoja visible a hoja oculta,

Mensaje por senda678 »

hola, de verdad que mil gracias, no te imaginas cuanto me has ayudado con esto,

Un abrazo.
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: [RESUELTO]Copiar celdas hoja visible a hoja oculta,

Mensaje por senda678 »

Hola de nuevo, lo he estado probando y va muy bien, pero me han surgido varias dudas.
El suceso contenido cambiado yo por lo menos en mi versión no lo tengo, y si copio la macro en mi archivo no me va, y luego con tu hoja, si generas mas hojas tampoco.
Si te parece te paso mi hoja para que puedas ver un poco la idea.
Tengo creadas 14 hojas.
1- Claves
2 - Summary Sheet
3-13 son de cada trabajador
14 es donde queria recoger todos los datos de todo lo que escriban los trabajadores.

Te paso el documento por si le quieres echar un vistazo, ahora mismo solo tengo funcionando la macro de proteger claves con los botones, el resto por ahora no lo tengo activo, porque si no no puedo ir haciendo todas las pruebas.

Mil gracias portu ayuda
Adjuntos
Version definitiva.ods
(31.42 KiB) Descargado 259 veces
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: [RESUELTO]Copiar celdas hoja visible a hoja oculta,

Mensaje por PepeOooSevilla »

Hola.
Vayamos por partes ...
... El suceso contenido cambiado yo por lo menos en mi versión no lo tengo ...
* Pasos a seguir para asignar una macro a un suceso de hoja en LibreOffice:
  • 1. Pinchar con el botón derecho del ratón sobre la pestaña de la hoja (donde figura su nombre), o bien, en el menú Hoja.
    2. Pinchar en Sucesos de hoja....
    3. Aparece un cuadro de diálogo de nombre Asignar acción.
    4. Seleccionar Contenido cambiado y pinchar en el botón Macro....
    5. Aparece otro cuadro de diálogo de nombre Selector de macros donde seleccionaremos la Biblioteca donde se encuentran nuestras macros y, dentro de ella, el Nombre de la macro que queremos que se ejecute al cambiar el contenido de una celda de esa hoja en concreto.
    6. Para finalizar pincharemos en el botón Aceptar de cada uno de los cuadros de diálogos abiertos.
... si copio la macro en mi archivo no me va ...
Todos los pasos anteriores se deben repetir para cada una de las hojas de las que deseemos asignar esa macro.
... si generas mas hojas tampoco ...
Ídem.

En el archivo adjunto ya está asignada la macro GuardarCambiosCeldas a todas las hojas de nombre "usuarioX".

La celda B1 de la hoja Copia_datos contiene la fórmula:

Código: Seleccionar todo

=CONTARA($A$4:$A$500000)
Esa celda se usa en la macro para saber en qué fila escribir las modificaciones que se vayan sucediendo. Puedes cambiar el 500000 por 1048576 (número máximo de filas en una hoja Calc, por ahora).

Saludos cordiales.
Adjuntos
Version definitiva_senda678_v2.ods
LibO Calc 6.4.5
(22.76 KiB) Descargado 258 veces
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.
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: [RESUELTO]Copiar celdas hoja visible a hoja oculta,

Mensaje por senda678 »

Holaaaaa, ahora si que si un millon de gracias.

Un saludo.
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
Responder