Controleer of blad en/of bereik bestaat Functie

Controleren of blad bestaat

We hebben een functie gemaakt die zal testen of een blad of bereik (op een bepaald blad) bestaat. De Range-test is handig als u wilt controleren of een bepaald benoemd bereik op een blad voorkomt.

123456789101112 'Test of er een bereik op een blad bestaat.'Laat bereik leeg om te testen of blad bestaat'Ingangen:' WhatSheet - Stringnaam van blad (ex "Blad1")' WhatRange (optioneel, standaard = "A1") - Stringnaam van bereik (ex "A1")Functiebereik bestaat (WhatSheet As String, optioneel ByVal WhatRange As String = "A1") As BooleanGedimde test als bereikBij fout Hervatten volgendeStel test in = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Bij fout Ga naar 0Functie beëindigen

Plaats de functie in een VBA-codemodule en u kunt er toegang toe krijgen met behulp van subprocedures zoals deze:

Controleren of blad bestaat

123 Sub Test_SheetExists()MsgBox RangeExists("setup")Einde sub

Controleren of bereik op een blad bestaat

123 Sub Test_RangeExists()MsgBox RangeExists("setup", "rngInput")Einde sub

De RangeExists-functie aanpassen

Controleren of blad in een andere werkmap bestaat

De bovenstaande functie keek naar ActiveWorkbook (de momenteel actieve werkmap). In plaats daarvan zou je de functie kunnen aanpassen om naar een specifieke werkmap als volgt te kijken:

12345678910111213 'Test of er een bereik op een blad bestaat.'Laat bereik leeg om te testen of blad bestaat'Ingangen:' WhatBook - *Werkboekobject*' WhatSheet - Stringnaam van blad (ex "Blad1")' WhatRange (optioneel, standaard = "A1") - Stringnaam van bereik (ex "A1")Functiebereik bestaat (WhatBook As Workbook, WhatSheet As String, Optioneel ByVal WhatRange As String = "A1") As BooleanGedimde test als bereikBij fout Hervatten volgendeTest instellen = WhatBook.Sheets(WhatSheet).Bereik(WhatRange)RangeExists = Err.Number = 0Bij fout Ga naar 0Functie beëindigen

Implementatie:

1234567 Subtest_WBSheet_Exists()Dim wb als werkboekStel wb = ActiveWorkbook inMsgBox RangeExists(wb, "Blad1")Einde sub
wave wave wave wave wave