Comprobar si la hoja existe en VBA

Iqra Hasnain 21 junio 2022
  1. Comprobar si la hoja existe en VBA
  2. Compruebe si existe una hoja en un libro de trabajo cerrado en VBA
Comprobar si la hoja existe en VBA

Presentaremos cómo verificar si existe una hoja usando VBA en Excel.

Comprobar si la hoja existe en VBA

Mientras trabaja en varias hojas, puede haber algunas hojas duplicadas, o es posible que deseemos evitar crear hojas duplicadas. Para este propósito, podemos usar VBA para verificar si hay hojas con el mismo nombre para las que queramos crear una hoja.

Para verificar si la hoja existe, requerimos un ciclo junto con cada hoja en el libro de trabajo y comparamos los nombres que hemos creado. Usaremos dos bucles; uno será el For each loop, y el segundo será la declaración If Else.

Primero, crearemos dos variables: una almacenará la hoja de trabajo y la segunda almacenará el nombre de la hoja para la que queremos buscar duplicados o verificar si existe la hoja con este nombre. Usaremos el bucle for para recorrer todos los archivos en una carpeta y la declaración if-else para verificar si el nombre de la hoja existe con el mismo nombre que la otra hoja.

Si el archivo existe con el mismo nombre, mostraremos un cuadro de mensaje que dice que la hoja existe. De lo contrario, el cuadro de mensaje mostrará que la hoja no existe.

Código:

#VBA
Sub sheetCheck()

Dim sheet As Worksheet
Dim Name As String

Name = "Sheet1"

For Each sheet In ThisWorkbook.Worksheets

    If sheet.Name = Name Then

            MsgBox "Yes! " & Name & " is there in the workbook."
            Exit Sub

    End If

Next sheet

MsgBox "No! " & Name & "is not there in the workbook."

End Sub

Producción:

la hoja de control existe o no

Cuando buscamos sheet1, obtuvimos la respuesta positiva de que la hoja con el mismo nombre ya existe.

Compruebe si existe una hoja en un libro de trabajo cerrado en VBA

Puede haber algunas situaciones en las que también queramos verificar las hojas en un archivo de Excel que están cerradas o en las que ya hemos trabajado. También podemos verificar las hojas en archivos de Excel cerrados abriendo los archivos usando el VBA y el bucle For each con la declaración If else como usamos en el ejemplo anterior.

Intentemos buscar la hoja en un archivo de Excel cerrado.

Código:

#VBA
Sub checkSheet()

Dim book As Workbook
Dim sheet As Worksheet
Dim Name As String

Name = "Sheet1"

Application.ScreenUpdating = False

Set book = Workbooks.Open _
("C:\Users\Hp9470\Documents\Book2.xlsx")

For Each sheet In book.Worksheets

    If sheet.Name = Name Then

        book.Close SaveChanges:=True
        MsgBox "Yes! Sheet Exists"
        Exit Sub

    End If

Next sheet

Application.ScreenUpdating = False

MsgBox "No! Sheet doesn't exists"

End Sub

Producción:

la hoja de verificación existe o no en la hoja de Excel cerrada

La hoja existe en el archivo de Excel cerrado al que accedimos usando la función abrir. De esta manera, podemos verificar archivos abiertos y cerrados sobre hojas utilizando la forma de nombre.