1. Quitar tablas
- Código: Seleccionar todo
Sub borrartablas()
'Macro que borra todas las tablas (deshabilita actualizar datos) mas no los datos importados
'Por César Báez
Dim i, a As Integer
Dim mihoja as string
mihoja = InputBox("Escribe el nombre de la hoja", "importante...", Sheets(1).Name)
On Error GoTo fin:
Sheets(mihoja).Activate
ini:
i = 1
a = ThisWorkbook.Sheets(mihoja).QueryTables.Count
If a > 0 Then
For i = 1 To a
On Error Resume Next
ThisWorkbook.Sheets(mihoja).QueryTables(i).Delete
a = a - 1
Next i
GoTo ini
End If
fin:
If Err.Number = 9 Then
MsgBox "Error -> no existe la hoja"
End If
End Sub
2. Quitar nombres de rango
- Código: Seleccionar todo
Sub borrarnombresderango()
'Macro que borra los nombres de rango (ver arriba a la izquierda del libro de Excel)
'Por César Báez
Dim i, a As Integer
ini:
i = 1
a = ThisWorkbook.Names.Count
If a > 0 Then
For i = 1 To a
On Error Resume Next
'Los rangos que se llaman datosexternos_## son los que contienen los datos importados de una consulta
'Hay que colocar datosexter entre asteriscos para que borre las referencias en cualquier hoja
If LCase(ThisWorkbook.Names(i).Name) Like "*datosexter*" Then
ThisWorkbook.Names(i).Delete
a = a - 1
End If
Next i
GoTo ini
End If
End Sub
3. Eliminar objetos (autoformas, archivos, gráficos)
- Código: Seleccionar todo
Sub borrarobjetos()
Dim mihoja as string
mihoja = InputBox("Escribe el nombre de la hoja", "importante...", Sheets(1).Name)
On Error GoTo fin:
Sheets(mihoja).Activate
'Macro que borra cualquier objeto de la hoja
Dim i, a As Integer
ini:
i = 1
a = ThisWorkbook.Sheets(mihoja).Shapes.Count
If a > 0 Then
For i = 1 To a
On Error Resume Next
ThisWorkbook.Sheets(mihoja).Shapes(i).Delete
a = a - 1
Next i
GoTo ini
End If
fin:
fin:
If Err.Number = 9 Then
MsgBox "Error -> no existe la hoja"
End If
End Sub
Hasta Luego




