Zkontrolujte, zda list existuje
Vytvořili jsme funkci, která otestuje, zda existuje list nebo rozsah (na konkrétním listu). Test rozsahu je užitečný, pokud chcete zkontrolovat, zda na listu existuje konkrétní pojmenovaný rozsah.
123456789101112 | „Vyzkoušejte, zda rozsah existuje na listu.'Nechte rozsah prázdný, abyste otestovali, zda list existuje'Vstupy:'WhatSheet - Řetězcový název listu (ex "Sheet1")'WhatRange (Volitelné, Výchozí = "A1") - Název řetězce rozsahu (ex "A1")Rozsah funkcíExistuje (WhatSheet jako řetězec, volitelně ByVal WhatRange jako řetězec = "A1") jako logická hodnotaDim test As RangePři chybě Pokračovat DalšíNastavit test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Při chybě GoTo 0Koncová funkce |
Umístěte funkci do modulu kódu VBA a můžete k ní přistupovat pomocí dílčích postupů, jako jsou tyto:
Zkontrolujte, zda list existuje
123 | Sub Test_SheetExists ()MsgBox RangeExists ("nastavení")End Sub |
Zkontrolujte, zda rozsah existuje na listu
123 | Dílčí test_rozsahu ()MsgBox RangeExists ("setup", "rngInput")End Sub |
Nastavení funkce RangeExists
Zkontrolujte, zda list existuje v jiném sešitu
Výše uvedená funkce se zaměřila na ActiveWorkbook (aktuálně aktivní sešit). Místo toho můžete upravit funkci tak, aby vypadala na konkrétní sešit takto:
12345678910111213 | „Vyzkoušejte, zda rozsah existuje na listu.'Nechte rozsah prázdný, abyste otestovali, zda list existuje'Vstupy:'WhatBook - *Objekt sešitu *'WhatSheet - Řetězcový název listu (ex "Sheet1")'WhatRange (Volitelné, Výchozí = "A1") - Název řetězce rozsahu (ex "A1")Rozsah funkcí Existuje (WhatBook As Workbook, WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDim test As RangePři chybě Pokračovat DalšíNastavit test = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Při chybě GoTo 0Koncová funkce |
Implementace:
1234567 | Dílčí test_WBSheet_Exists ()Dim wb jako sešitNastavit wb = ActiveWorkbookMsgBox RangeExists (wb, "Sheet1")End Sub |