Spisie treści
Sprawdź, czy arkusz istnieje
Stworzyliśmy funkcję, która sprawdzi, czy istnieje Arkusz lub Zakres (w konkretnym arkuszu). Test zakresu jest przydatny, jeśli chcesz sprawdzić, czy w arkuszu istnieje określony nazwany zakres.
123456789101112 | „Sprawdź, czy na arkuszu istnieje zakres.„Pozostaw zakres pusty, aby sprawdzić, czy arkusz istnieje”„Wejścia:' WhatSheet - ciąg Nazwa arkusza (np. „Arkusz1”)' WhatRange (Opcjonalnie, Default = "A1") - Ciąg Nazwa zakresu (np. "A1")Funkcja RangeExists(WhatSheet As String, opcjonalnie ByVal WhatRange As String = "A1") jako BooleanTest przyciemnienia jako zakresPrzy błędzie Wznów DalejUstaw test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Błąd.Liczba = 0W przypadku błędu Przejdź do 0Koniec funkcji |
Umieść funkcję w module kodu VBA i możesz uzyskać do niej dostęp za pomocą podrzędnych procedur, takich jak:
Sprawdź, czy arkusz istnieje
123 | Sub Test_SheetExists()MsgBox RangeExists("ustawienia")Napis końcowy |
Sprawdź, czy na arkuszu istnieje zakres
123 | Podtest_RangeExists()MsgBox RangeExists("ustawienia", "rngInput")Napis końcowy |
Regulacja funkcji RangeExists
Sprawdź, czy arkusz istnieje w innym skoroszycie
Powyższa funkcja spojrzała na ActiveWorkbook (aktualnie aktywny skoroszyt). Zamiast tego możesz dostosować funkcję, aby spojrzeć na konkretny skoroszyt w następujący sposób:
12345678910111213 | 'Sprawdź, czy na arkuszu istnieje zakres.„Pozostaw zakres pusty, aby sprawdzić, czy arkusz istnieje”„Wejścia:' WhatBook - *Obiekt skoroszytu*' WhatSheet - ciąg Nazwa arkusza (np. „Arkusz1”)' WhatRange (Opcjonalnie, Default = "A1") - Ciąg Nazwa zakresu (np. "A1")Function RangeExists(WhatBook As Workbook, WhatSheet As String, Opcjonalne ByVal WhatRange As String = "A1") jako BooleanTest przyciemnienia jako zakresPrzy błędzie Wznów DalejUstaw test = WhatBook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Błąd.Liczba = 0W przypadku błędu Przejdź do 0Koniec funkcji |
Realizacja:
1234567 | Podtest_WBSheet_Exists()Dim wb jako skoroszytUstaw wb = Aktywny skoroszytMsgBox RangeExists(wb, "Arkusz1")Napis końcowy |