Проверете дали лист и/или диапазон съществуват

Проверете дали листът съществува

Създадохме функция, която ще тества дали съществува лист или диапазон (на определен лист). Тестът за обхват е полезен, ако искате да проверите дали на лист съществува определен именован диапазон.

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
wave wave wave wave wave