Compruebe si existe la función Hoja y / o rango

Tabla de contenido

Compruebe si existe la hoja

Hemos creado una función que probará si existe una hoja o rango (en una hoja en particular). La prueba de rango es útil si desea verificar si un rango con nombre en particular existe en una hoja.

123456789101112 Prueba si existe un rango en una hoja.'Deje el rango en blanco para probar si la hoja existe'Entradas:'WhatSheet - Nombre de cadena de la hoja (por ejemplo, "Hoja1")'WhatRange (opcional, predeterminado = "A1"): nombre de cadena del rango (ex "A1")Función RangeExists (WhatSheet como cadena, ByVal opcional WhatRange como cadena = "A1") como booleanoPrueba de atenuación como rangoEn caso de error, reanudar siguienteEstablecer prueba = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0En caso de error, vaya a 0Función final

Coloque la función dentro de un módulo de código VBA y puede acceder a ella utilizando subprocedimientos como estos:

Compruebe si existe la hoja

123 Sub Test_SheetExists ()MsgBox RangeExists ("configuración")End Sub

Compruebe si el rango existe en una hoja

123 Sub Test_RangeExists ()MsgBox RangeExists ("configuración", "rngInput")End Sub

Ajuste de la función RangeExists

Compruebe si la hoja existe en otro libro

La función anterior miró a ActiveWorkbook (el libro de trabajo actualmente activo). En su lugar, puede ajustar la función para ver un libro de trabajo específico como este:

12345678910111213 Prueba si existe un rango en una hoja.'Deje el rango en blanco para probar si la hoja existe'Entradas:'WhatBook - * Objeto de libro de trabajo *'WhatSheet - Nombre de cadena de la hoja (por ejemplo, "Hoja1")'WhatRange (opcional, predeterminado = "A1"): nombre de cadena del rango (ex "A1")Función RangeExists (WhatBook como libro de trabajo, WhatSheet como cadena, ByVal opcional WhatRange como cadena = "A1") como booleanoPrueba de atenuación como rangoEn caso de error, reanudar siguienteEstablecer prueba = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0En caso de error, vaya a 0Función final

Implementación:

1234567 Sub Test_WBSheet_Exists ()Dim wb como libro de trabajoEstablecer wb = ActiveWorkbookMsgBox RangeExists (wb, "Hoja1")End Sub
wave wave wave wave wave