Skontrolujte, či list existuje
Vytvorili sme funkciu, ktorá testuje, či existuje hárok alebo rozsah (na konkrétnom hárku). Test rozsahu je užitočný, ak chcete skontrolovať, či sa na hárku nachádza konkrétny pomenovaný rozsah.
123456789101112 | „Vyskúšajte, či rozsah existuje na hárku.'Nechajte rozsah prázdny, aby ste otestovali, či list existuje„Vstupy:'WhatSheet - Reťazcový názov hárka (ex „Sheet1“)'WhatRange (Voliteľné, Predvolené = "A1") - Názov reťazca rozsahu (ex "A1")Rozsah funkciíExistuje (aký list ako reťazec, voliteľné podľa veľkosti ako reťazec = "A1") ako boolovskýDim test As RangePri chybe Pokračovať ďalejNastaviť test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Pri chybe GoTo 0Koncová funkcia |
Umiestnite funkciu do modulu kódu VBA a získate k nej prístup pomocou čiastkových postupov, ako sú tieto:
Skontrolujte, či list existuje
123 | Sub Test_SheetExists ()Rozsahy MsgBox ("nastavenie")Koniec pod |
Skontrolujte, či rozsah existuje na hárku
123 | Sub Test_RangeExists ()MsgBox RangeExists ("setup", "rngInput")Koniec pod |
Úprava funkcie RangeExists
Skontrolujte, či hárok existuje v inom zošite
Vyššie uvedená funkcia sa zamerala na ActiveWorkbook (aktuálne aktívny zošit). Namiesto toho by ste mohli upraviť funkciu tak, aby sa pozerala na konkrétny zošit takto:
12345678910111213 | „Vyskúšajte, či rozsah existuje na hárku.'Nechajte rozsah prázdny, aby ste otestovali, či list existuje„Vstupy:„WhatBook - *Objekt zošita *'WhatSheet - Reťazcový názov hárka (ex „Sheet1“)'WhatRange (Voliteľné, Predvolené = "A1") - Názov reťazca rozsahu (ex "A1")Rozsah funkciíExistuje (WhatBook As Workbook, WhatSheet as String, Optional ByVal WhatRange As String = "A1") As BooleanDim test As RangePri chybe Pokračovať ďalejNastaviť test = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Pri chybe GoTo 0Koncová funkcia |
Implementácia:
1234567 | Sub test_WBSheet_Exists ()Dim wb ako zošitNastaviť wb = ActiveWorkbookRozsahy MsgBox (wb, "Sheet1")Koniec pod |