Съдържание
Проверете дали листът съществува
Създадохме функция, която ще тества дали съществува лист или диапазон (на определен лист). Тестът за обхват е полезен, ако искате да проверите дали на лист съществува определен именован диапазон.
123456789101112 | „Тествайте дали диапазон съществува на лист.„Оставете диапазона празен, за да проверите дали листът съществува'Входове:'WhatSheet - Име на низ на лист (преди "Sheet1")'WhatRange (Незадължително, По подразбиране = "A1") - Име на низ за диапазон (например "A1")Функция RangeExists (WhatSheet As String, незадължително ByVal WhatRange As String = "A1") Като BooleanЗатъмняване като диапазонНа грешка възобновяване следващоЗадайте тест = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0При грешка GoTo 0Крайна функция |
Поставете функцията в VBA Code Module и можете да получите достъп до нея, като използвате подпроцедури като тези:
Проверете дали листът съществува
123 | Sub Test_SheetExists ()MsgBox RangeExists ("настройка")End Sub |
Проверете дали диапазон съществува на лист
123 | Sub Test_RangeExists ()MsgBox RangeExists ("setup", "rngInput")End Sub |
Регулиране на функцията RangeExists
Проверете дали лист съществува в друга работна книга
Горната функция разглежда ActiveWorkbook (текущата активна работна книга). Вместо това можете да настроите функцията, за да разгледате конкретна работна книга по следния начин:
12345678910111213 | „Тествайте дали диапазон съществува на лист.„Оставете диапазона празен, за да проверите дали листът съществува'Входове:„WhatBook - *Обект на работна книга *'WhatSheet - Име на низ на лист (преди "Sheet1")'WhatRange (Незадължително, По подразбиране = "A1") - Име на низ за диапазон (например "A1")Функционален диапазон Съществува (WhatBook като работна книга, WhatSheet като низ, незадължителен ByVal WhatRange As String = "A1") като булевЗатъмняване като диапазонНа грешка възобновяване следващоЗадайте тест = WhatBook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0При грешка GoTo 0Крайна функция |
Изпълнение:
1234567 | Sub Test_WBSheet_Exists ()Dim wb Като работна книгаЗадайте wb = ActiveWorkbookMsgBox RangeExists (wb, "Sheet1")End Sub |