Copiar archivo y romper vínculos

18/10/2006 - 18:46 por Bart | Informe spam
Hola de nuevo, siguiendo el tema anterior, planteo esta interrogante:

Cómo se puede copiar un archivo que contiene varias hojas PROTEGIDAS, en
otro, pero rompiendo los VÍNCULOS originales que alimentan de información al
archivo que se desea copiar.

La idea es la siguiente:
Se tiene un ARCHIVO CONSOLIDADO con VARIAS hojas que se alimentan de data de
otros archivos independientes (Indepen1, Indepen2, etc.).
Se desea respaldar este archivo con otro nombre, RESPALDO, pero que NO siga
actualizándose de los archivos independientes.
Por tanto, se piensa realizar con una MACRO la COPIA del ARCHIVO CONSOLIDADO
pero rompiendo los VÍNCULOS.

El problema radica en que los VÍNCULOS no se pueden romper debido a que las
hojas del ARCHIVO CONSOLIDADO y por ende del archivo RESPALDO, DEBEN
permanecer PROTEGIDAS para que el usuario sólo pueda ver la data y NO LA
MODIFIQUE.

Gracias por su ayuda.

Preguntas similare

Leer las respuestas

#6 Bart
20/10/2006 - 06:53 | Informe spam
Hola KL, gracias por tu interés...

El Método de Peralta sirve, pero implica realizar mensualmente esa operación
de manera MANUAL, y mi meta es automatizarlo con una macro.

En ese sentido, el procedimiento que tu indicas, al aplicarlo en la macro,
una vez copiadas las celdas, cuando procede a ELIMINAR los LINKS, borra todo
el contenido de la HOJA y la deja vacía... lo verifiqué incluso PASO A PASO.

Por otra parte, por lo que se, el método BREAKLINK es para libros
(Workbook), existe algún método equivalente que quiebre los links entre HOJAS
?

Para aclarar, la macro hace bien lo siguiente: abre un libro nuevo, le
coloca un nombre, se dirige al libro original en una hoja específica, copia
toda la información, se dirige al libro nuevo, pega toda la información
(valores, fórmulas, formatos, GRÁFICOS) hasta aquí todo bien, pero cuando
llega a la parte donde está inserto el código que dijiste, desaparece todo lo
pegado.

GRACIAS NUEVAMENTE...

B.S.

"KL" wrote:

Hola chicos,

La verdad es que el mensaje de Jesus Peralta ha conseguido llamar mi atencion hacia este asunto otra vez y hacer que vuelva a leer
la tarea. Creo que si solo se trata de eliminar los vinculos externos (o sea hacia otros archivos), existe una forma mucho mas
eficaz (elimina los vinculos en todos los objetos que los puedan tener) y mas limpia (sin eliminar todas las formulas) y es la
siguiente:

Sub Test()
Dim Vinculos As Variant
With ActiveWorkbook
On Error Resume Next
Vinculos = .LinkSources(xlLinkTypeExcelLinks)
For i = LBound(Vinculos) To UBound(Vinculos)
.BreakLink Vinculos(i), xlLinkTypeExcelLinks
Next i
On Error GoTo 0
.SaveAs .Path & "\" & Format(Now, "YYYYMMDD_HHMMSS") & ".xls"
End With
End Sub

Saludos,
KL


"KL" wrote in message news:%
> Hola Bart,
>
> El siguiente codigo asume que tus hojas no estan protegidas y no contienen los siguientes objetos que podrian contener formulas:
>
> - nombres definidos
> - formatos condicionales
> - reglas de validacion
> - graficos
> - tablas dinamicas
> - autoformas o imagenes con formulas asociadas
> - etc.
>
> en otras palabras - solo elimina las formulas en celdas
>
> Sub test()
> Dim ws As Worksheet
> Application.ScreenUpdating = False
> ActiveWorkbook.Sheets.Copy
> For Each ws In ActiveWorkbook.Worksheets
> With ws.UsedRange
> .Value = .Value
> End With
> Next ws
> Application.ScreenUpdating = True
> End Sub
>
>
> Saludos,
> KL
>
>
> "Bart" wrote in message news:
>> Hola KL...
>>
>> Me sirve sólo en parte, porque implicaría ir copiando cada HOJA del ARCHIVO
>> CONSOLIDADO hacia el ARCHIVO RESPALDO, no?
>>
>> Es decir, cómo trabajaría cuando se requiere copiar TODAS LAS HOJAS de un
>> archivo a otro ?
>> Gracias..
>>
>> "KL" wrote:
>>
>>> Y no te ha servido mi respuesta 5 hilos mas abajo?
>>>
>>> Saludos,
>>> KL
>>>
>>>
>>> "Bart" wrote in message news:
>>> > Hola de nuevo, siguiendo el tema anterior, planteo esta interrogante:
>>> >
>>> > Cómo se puede copiar un archivo que contiene varias hojas PROTEGIDAS, en
>>> > otro, pero rompiendo los VÍNCULOS originales que alimentan de información al
>>> > archivo que se desea copiar.
>>> >
>>> > La idea es la siguiente:
>>> > Se tiene un ARCHIVO CONSOLIDADO con VARIAS hojas que se alimentan de data de
>>> > otros archivos independientes (Indepen1, Indepen2, etc.).
>>> > Se desea respaldar este archivo con otro nombre, RESPALDO, pero que NO siga
>>> > actualizándose de los archivos independientes.
>>> > Por tanto, se piensa realizar con una MACRO la COPIA del ARCHIVO CONSOLIDADO
>>> > pero rompiendo los VÍNCULOS.
>>> >
>>> > El problema radica en que los VÍNCULOS no se pueden romper debido a que las
>>> > hojas del ARCHIVO CONSOLIDADO y por ende del archivo RESPALDO, DEBEN
>>> > permanecer PROTEGIDAS para que el usuario sólo pueda ver la data y NO LA
>>> > MODIFIQUE.
>>> >
>>> > Gracias por su ayuda.
>>> >
>>>
>>>
>


Respuesta Responder a este mensaje
#7 KL
20/10/2006 - 16:48 | Informe spam
Hola Bart,

En ese sentido, el procedimiento que tu indicas, al aplicarlo en la macro,
una vez copiadas las celdas, cuando procede a ELIMINAR los LINKS, borra todo
el contenido de la HOJA y la deja vacía... lo verifiqué incluso PASO A PASO.



A cual de los dos te refieres? El segundo dificilmente podria causar dicho efecto, y el primero me funciona sin problemas. Podrias
explicar (en detalle) donde colocas el codigo, como lo ejecutas y que modificaciones (si aplica) has realizado al macro.

Por otra parte, por lo que se, el método BREAKLINK es para libros
(Workbook), existe algún método equivalente que quiebre los links entre HOJAS
?



No. Pero leyendo tu consulta inicial era lo que buscabas, ?no?


Para aclarar, la macro hace bien lo siguiente: abre un libro nuevo, le
coloca un nombre, se dirige al libro original en una hoja específica, copia
toda la información, se dirige al libro nuevo, pega toda la información
(valores, fórmulas, formatos, GRÁFICOS) hasta aquí todo bien, pero cuando
llega a la parte donde está inserto el código que dijiste, desaparece todo lo
pegado.



Mira mi comentario mas arriba.


Saludos,
KL
Respuesta Responder a este mensaje
#8 Bart
21/10/2006 - 02:16 | Informe spam
Hola de nuevo KL...

Coloqué el siguiente código, dentro de una rutina que se ejecuta al
presionar un botón, en la noche de ayer no me funcionaba, hoy si, no entiendo
por qué, debió ser un error mío, por enfrascarme tanto tiempo en esta
actividad sin descansar... MUCHAS GRACIAS.

Dim Vinculos As Variant
With ActiveWorkbook
On Error Resume Next
Vinculos = .LinkSources(xlLinkTypeExcelLinks)
For i = LBound(Vinculos) To UBound(Vinculos)
.BreakLink Vinculos(i), xlLinkTypeExcelLinks
Next i
End With


Este fué el código que usé y funciona muy bien... si me llega a sar
problemas, consultaré nuevamente... Gracias.

"KL" wrote:

Hola Bart,

> En ese sentido, el procedimiento que tu indicas, al aplicarlo en la macro,
> una vez copiadas las celdas, cuando procede a ELIMINAR los LINKS, borra todo
> el contenido de la HOJA y la deja vacía... lo verifiqué incluso PASO A PASO.

A cual de los dos te refieres? El segundo dificilmente podria causar dicho efecto, y el primero me funciona sin problemas. Podrias
explicar (en detalle) donde colocas el codigo, como lo ejecutas y que modificaciones (si aplica) has realizado al macro.

> Por otra parte, por lo que se, el método BREAKLINK es para libros
> (Workbook), existe algún método equivalente que quiebre los links entre HOJAS
> ?

No. Pero leyendo tu consulta inicial era lo que buscabas, ?no?


> Para aclarar, la macro hace bien lo siguiente: abre un libro nuevo, le
> coloca un nombre, se dirige al libro original en una hoja específica, copia
> toda la información, se dirige al libro nuevo, pega toda la información
> (valores, fórmulas, formatos, GRÁFICOS) hasta aquí todo bien, pero cuando
> llega a la parte donde está inserto el código que dijiste, desaparece todo lo
> pegado.

Mira mi comentario mas arriba.


Saludos,
KL



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida