Comprobar si la hoja existe en VBA
- Comprobar si la hoja existe en VBA
- Compruebe si existe una hoja en un libro de trabajo cerrado 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:
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 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.