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 |