Table des matières
Vérifier si la feuille existe
Nous avons créé une fonction qui testera si une feuille ou une plage (sur une feuille particulière) existe. Le test Plage est utile si vous souhaitez vérifier si une plage nommée particulière existe sur une feuille.
123456789101112 | 'Test si une plage existe sur une feuille.'Laisser la plage vide pour tester si la feuille existe'Contributions:' WhatSheet - Chaîne Nom de la feuille (ex "Sheet1")' WhatRange (Facultatif, Par défaut = "A1") - Nom de chaîne de la plage (ex "A1")Function RangeExists (WhatSheet As String, Facultatif ByVal WhatRange As String = "A1") As BooleanTest de gradation en tant que plageEn cas d'erreur Reprendre ensuiteDéfinir le test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0En cas d'erreur GoTo 0Fonction de fin |
Placez la fonction dans un module de code VBA et vous pouvez y accéder en utilisant des sous-procédures comme celles-ci :
Vérifier si la feuille existe
123 | Sub Test_SheetExists()MsgBox RangeExists("configuration")Fin du sous-marin |
Vérifier si la plage existe sur une feuille
123 | Sub Test_RangeExists()MsgBox RangeExists("setup", "rngInput")Fin du sous-marin |
Réglage de la fonction RangeExists
Vérifier si la feuille existe sur un autre classeur
La fonction ci-dessus a examiné ActiveWorkbook (le classeur actuellement actif). Au lieu de cela, vous pouvez ajuster la fonction pour regarder un classeur spécifique comme celui-ci :
12345678910111213 | 'Test si une plage existe sur une feuille.'Laisser la plage vide pour tester si la feuille existe'Contributions:' WhatBook - *Objet classeur*' WhatSheet - Nom de chaîne de la feuille (ex "Sheet1")' WhatRange (Facultatif, Par défaut = "A1") - Nom de chaîne de la plage (ex "A1")Function RangeExists (WhatBook As Workbook, WhatSheet As String, Facultatif ByVal WhatRange As String = "A1") As BooleanTest de gradation en tant que plageEn cas d'erreur Reprendre ensuiteDéfinir le test = WhatBook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0En cas d'erreur GoTo 0Fonction de fin |
Mise en œuvre:
1234567 | Sous-Test_WBSheet_Exists()Dim wb comme classeurDéfinir wb = ActiveWorkbookMsgBox RangeExists(wb, "Sheet1")Fin du sous-marin |