Macro para romper vínculos automáticamente

Necesito un macro que rompa todos lo vínculos que contenga

La hoja que contiene esos vínculos se encuentra protegida.. Y la referencia igual...

Cree esta con una macro:

Sub rompe_vinculos()
'
'

'
Sheets("10").Select
ActiveSheet.Unprotect
ActiveWorkbook.BreakLink Name:= _
"\\JAIRO-VENTAS\Users\Public\BASE DE CAMBIOS INVETARIOS JAIR-MARY-JAIRO.xlsm", _
Type:=xlExcelLinks
End Sub

Pero si se puede ser mejor

1 Respuesta

Respuesta
2

H o l a:

prueba con lo siguiente para que no se actualicen los vínculos:

ActiveWorkbook.UpdateLinks = xlUpdateLinksNever

Puedes ponerlo en el evento Open

Sal u dos

Si mira lo que pasa

Es que el libro se utiliza constantemente pero en una determinada fecha necesito que ya no se actualicen más... osea crear un botón en donde al dar clic este rompa los vínculos

Y si pones la línea en un botón:

ActiveWorkbook.UpdateLinks = xlUpdateLinksNever

O reemplaza las fórmulas por valores

Ejecuta la siguiente macro para todos los link

Sub BreakLinks()
    Dim vLinks As Variant
    Dim lLink As Long
    ' Define variable as an Excel link type.
    vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    If vLinks = vbNullString Then Exit Sub
    ' Break all links in the active workbook.
    For lLink = LBound(vLinks) To UBound(vLinks)
        ActiveWorkbook.BreakLink _
                Name:=vLinks(lLink), _
                Type:=xlLinkTypeExcelLinks
    Next lLink
End Sub

fuente: 

http://www.mrexcel.com/forum/excel-questions/615722-break-all-links-visual-basic-applications.html 

Primero ejecute el código que me diste primero y no me funciona.. sigue actualizando los datos...

Luego ejecute el sig. código de la fuente

Y me salio esto:

Listo dan! Agarre el código de la página de referencia...

Gracias!

Sub BreakLinks()
Dim Links As Variant
Links = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
For i = 1 To UBound(Links)
ActiveWorkbook.BreakLink _
    Name:=Links(i), _
    Type:=xlLinkTypeExcelLinks
Next i
End Sub

Quita esa línea con el error y ejecuta la macro nuevamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas