xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


Macro VBA para eliminar vínculos Excel

Con esta macro podrás eliminar vínculos a otras hojas/libros.

»  Elimina vínculos a otras hojas/libros
»  Referencias dentro de la hoja se mantienen.
»  Los vínculos se convierten en valores.
»  Antes de todo, ¡recuerda hacer una copia de seguridad!

Copia de seguridad

Guarda una copia de seguridad de tu libro. Hazlo porque nunca sabes.

Crear el módulo

Entra a Herramientas - Macros - Editor VBA. A la izquierda ves (si no lo ves CTRL+R) algo como "ProyectoVBA (Tu libro). Marca ese proyecto. Insertar - Módulo.

Doble click en el módulo nuevo, y a la derecha sale un espacio blanco, es para el código. Herramientas - Referencias. Marca Microsoft ActiveX DataObjects x.x Library.
Ahora cierras el editor VBA, vuelves a Excel. Guardamos el libro.

El código


Sub QuitarVinculos() Dim varVinculo As Variant Dim wrsHoja As Worksheet Dim objCelda As Object Dim varMsg As Variant '(0) Un pequeño control varMsg = MsgBox("¿Ha guardado una copia de seguridad?", vbYesNo) If varMsg = 7 Then Exit Sub '(1) Quitar vínculos externos (a otros libros) varLink = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks) If Not IsEmpty(varLink) Then i = 1 Do Until IsEmpty(varLink) On Error GoTo 9 ActiveWorkbook.BreakLink Name:=varLink(i), _ Type:=xlLinkTypeExcelLinks i = i + 1 Loop End If 9: '(2) Quitar vínculos internos (a otras hojas) On Error Resume Next For Each wrsHoja In ActiveWorkbook.Worksheets For Each objCelda In wrsHoja.UsedRange.SpecialCells(xlCellTypeFormulas, 23) If InStr(objCelda.Formula, "!") Then objCelda.Value = objCelda.Value Next Next End Sub

Ejecutar macro

Para ejecutar esta macro entras a Herramientas - Macros. Allí encontrarás la macro "Conectar_Excel_ADO". Marca esta, y "Ejecutar".