[RESUELTO] forma de copiar celdas ocultas con una macro?

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
DavidCs
Mensajes: 13
Registrado: Vie May 14, 2010 5:11 pm

[RESUELTO] forma de copiar celdas ocultas con una macro?

Mensaje por DavidCs »

Tengo una hoja , donde para seleccionar los datos que están oculto quiero copiarlos a otra parte de esa misma hoja, pero cuando lo protejo no me sale los datos ya que está oculto.

¿Habría alguna forma de poder copiar esos datos, mediante una macro?

Muchas gracias
Última edición por DavidCs el Sab Jun 26, 2010 9:13 am, editado 1 vez en total.
Openoffice 3.2 en windows 7
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: ¿Hay alguna forma de copiar celdas ocultas con una macro

Mensaje por mauricio »

Hola...

Claro que hay forma, solo que no estoy muy seguro de que es lo que realmente quieres, si quieres copiar datos de celdas ocultas o de celdas donde se oculta el contenido por medio de Formato | Celdas | Protección de celdas que son dos cosas diferentes... si nos das más detalles, tal vez podamos 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
DavidCs
Mensajes: 13
Registrado: Vie May 14, 2010 5:11 pm

Re: ¿Hay alguna forma de copiar celdas ocultas con una macro

Mensaje por DavidCs »

Perdón.

Cuando me refería a copiar celdas era en base a celdas donde se oculta el contenido por medio de Formato | Celdas , ocultar todo y ocultar para la impresión.

Lo que pretendo hacer es hacer una macro que copie unos valores de una hoja por ejemplo de la t:136: a la ab:136 que están ocultas como te de he dicho anteriormente a otra hoja en una posición por ejemplo a1.

Cuando lo hago con la hoja protegida ya no me funciona, porque me lo copia en blanco.

Muchas gracias por tu atención.
Openoffice 3.2 en windows 7
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: ¿Hay alguna forma de copiar celdas ocultas con una macro

Mensaje por mauricio »

Hola...

Es muy sencillo, te muestro dos formas de hacerlo, asumimos que estas usando Formato | Celdas | Protección de celda... y Herramientas | Proteger documento | Hoja...
captura01.png
La primer macro, asume que la hoja esta protegida pero sin contraseña, si tiene contraseña ponla donde se indica...

Código: Seleccionar todo

Sub CopiarOcultos1()
Dim oDoc As Object
Dim oHojaOrigen As Object
Dim oHojaDestino As Object
Dim oRango As Object
Dim oCelda As Object

	'Este documento
	oDoc = ThisComponent
	oHojaOrigen = oDoc.getSheets.getByName("Origen")
	oHojaDestino = oDoc.getSheets.getByName("Destino")
	'Los datos a copiar
	oRango = oHojaOrigen.getCellRangeByName("A1:B5")
	'La celda destino
	oCelda = oHojaDestino.getCellRangeByName("A1")
	'Desproteguemos la hoja, si tiene contraseña aquí ponla
	oHojaOrigen.unProtect( "" )
	'Copiamos los datos
	oHojaDestino.copyRange( oCelda.getCellAddress, oRango.getRangeAddress )
	'Volvemos a proteger la hoja
	oHojaOrigen.Protect( "" )
	
	MsgBox "Datos copiados"
	
End Sub
Esta segunda macro copia los valores de las celdas, por lo que no necesitas saber la contraseña de la hoja, interesante...

Código: Seleccionar todo

Sub CopiarOcultos2()
Dim oDoc As Object
Dim oHojaOrigen As Object
Dim oHojaDestino As Object
Dim oRango As Object
Dim mDatos As Object

	'Este documento
	oDoc = ThisComponent
	oHojaOrigen = oDoc.getSheets.getByName("Origen")
	oHojaDestino = oDoc.getSheets.getByName("Destino")
	'Los datos a copiar
	oRango = oHojaOrigen.getCellRangeByName("A1:B5")
	'Obtenemos los datos
	mDatos = oRango.getDataArray()
	'El destino, aquí, no necesariamente tiene que ser el mismo rango, pero es
	'MUY IMPORTANTE que sea del mismo tamaño en alto y en ancho, exactamente.
	oRango = oHojaDestino.getCellRangeByName("A1:B5")
	'Pegamos los datos
	oRango.setDataArray( mDatos )	

	MsgBox "Datos copiados"
	
End Sub
Para adaptarla a tus necesidades, solo cambia los rangos respectivos. Anexo archivo de ejemplo.

Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
Adjuntos
Copiar ocultos.ods
(8.66 KiB) Descargado 342 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
DavidCs
Mensajes: 13
Registrado: Vie May 14, 2010 5:11 pm

Re: ¿Hay alguna forma de copiar celdas ocultas con una macro

Mensaje por DavidCs »

Muchísimas gracias!!

Me has hecho un gran favor
Openoffice 3.2 en windows 7
Responder