Note: The other languages of the website are Google-translated. Back to English

¿Cómo eliminar una hoja si el nombre de la hoja no está en una lista?

Digamos, tengo una hoja de trabajo que contiene una lista de nombres de hojas dentro del libro de trabajo en la columna A como se muestra a continuación, y algunos nombres de hojas en el libro de trabajo 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 forma rápida y sencilla?

doc eliminar hoja que no está en la lista 1

Eliminar hojas que no están en una lista específica con código VBA


flecha azul burbuja derecha Eliminar hojas que no están en una lista específica con código VBA

Normalmente, puede comprobar los nombres de las hojas uno por uno y eliminar los que no están en la lista de nombres de hojas. Pero, aquí, puedo hablar de un código VBA para manejarlo. Haz lo siguiente:

1. Vaya a la hoja de trabajo que contiene la lista de nombres de hojas y luego mantenga presionada la tecla ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Luego haga clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.

Código de VBA: elimine las 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 "Not find the sheets to be seleted", 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, puede cambiarla según sus necesidades.

3. Y luego presione F5 para ejecutar este código, las hojas que no están en la lista se han eliminado a la vez, vea la captura de pantalla:

doc eliminar hoja que no está en la lista 2


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (4)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Hola,


Mi lista de nombres de hojas son solo números y este código aún elimina todos los nombres de hojas que son solo números, es decir, tengo hojas llamadas "1", "2" y "3" y mi lista es solo 1 y 3, en lugar de eliminar la hoja "2" borra todas las hojas numeradas. Si el nombre de la hoja tiene letras, entonces el código funciona bien. ¿Alguien puede ayudar?
Este comentario fue minimizado por el moderador en el sitio
¿Cómo podría cambiarse esto para que si el nombre de la hoja contiene el texto en la lista, no los elimine en lugar de si coincide?
Este comentario fue minimizado por el moderador en el sitio
Hola,

El código eliminó todas las hojas, incluso las que están incluidas en la lista.

¿Podría sugerir una solución?
Este comentario fue minimizado por el moderador en el sitio
Hola nelavai
El código funciona bien en mi libro de trabajo, ¿podría subir una captura de pantalla de su problema o un archivo adjunto de su libro de trabajo aquí? Para que podamos ayudar a verificar el problema.
¡Gracias!
No hay comentarios publicados aquí todavía

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL