¿Cómo eliminar una hoja si el nombre de la hoja no está en una lista?
Supongamos que tengo una hoja de trabajo que contiene una lista de nombres de hojas dentro del libro en la columna A, como se muestra en la siguiente captura de pantalla, y algunos nombres de hojas específicos en el libro no están en la lista. Ahora, quiero eliminar las hojas que no están en la lista de la columna A. ¿Cómo podría resolver esta tarea en Excel de manera rápida y sencilla?
Eliminar hojas que no están en una lista específica con código VBA
Eliminar hojas que no están en una lista específica con código VBA
Normalmente, puedes revisar los nombres de las hojas uno por uno y eliminar aquellos que no están en la lista de nombres de hojas. Sin embargo, aquí te hablaré de un código VBA para manejarlo. Por favor, sigue estos pasos:
1. Ve a la hoja de cálculo que contiene la lista de nombres de hojas, y luego mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Luego haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.
Código VBA: Eliminar hojas que no están en una lista
Sub Deletenotinlist()
'Updateby Extendoffice
Dim i As Long
Dim cnt As Long
Dim xWb, actWs As Worksheet
Set actWs = ThisWorkbook.ActiveSheet
cnt = 0
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
If Not ThisWorkbook.Sheets(i) Is actWs Then
xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
If IsError(xWb) Then
ThisWorkbook.Sheets(i).Delete
cnt = cnt + 1
End If
End If
Next
Application.DisplayAlerts = True
If cnt = 0 Then
MsgBox "No sheets found to delete.", vbInformation, "Kutools for Excel"
Else
MsgBox "Have deleted " & cnt & " worksheets."
End If
End Sub
Nota: En el código anterior, A2:A6 es la referencia de celda que contiene los nombres de las hojas; puedes cambiarla según tus necesidades.
3. Luego presiona la tecla F5 para ejecutar este código; las hojas que no están en la lista se eliminarán de inmediato, como se muestra en la siguiente captura de pantalla:
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!