Помогаю со студенческими работами здесь
Как проверить существование кнопки
Нужно удалить кнопку, которая может существовать, а может и не существовать (кнопка создается в…
Как проверить существование файла ?
Например name.xls, мне нужно чтоб макрос не останавливался, если файла не существует. Есть…
Проверить переменную типа Object на существование
Допустим я создал и переменную
dim j as object
Set j = New Access.ApplicationВ случае какой-либо…
Как проверить существование файла в папке,если filesystemobject не распознается VBA?
вопрос такой:
надо ли подключать какую-нибудь бибилиотеку для работы с файловой системой, а именно…
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму:
3
What is the best way to check if object exists before using set on it ?
I have many workbooks, they contain checkboxes and optionbuttons.
I have an array that contain the list of all possible names of checkboxes and optionbuttons that the different workbooks may have
to make my question clear, let us suppose that i have
sArray(i) = "CheckBox15"
when I do
Set s = .OLEObjects(sArray(i))
is giving me an error 1004 when there is no a checkbox called «CheckBox15» in the active sheet.
what I want in my below code, is to add a line that tells :
if «CheckBox15» exists on current sheet (ws) then set …. is there any command that check if an object exists ?
'ws is the worksheet
Dim s As OLEObject
Dim i As Long
with ws
For i = 0 To UBound(sArray)
Set s = .OLEObjects(sArray(i))
If s.Object.Value = True Then
GetOptionCheck = GetOptionCheck & s.Object.Caption
End If
Next i
end with
Pᴇʜ
56k9 gold badges49 silver badges73 bronze badges
asked Mar 1, 2019 at 14:01
You can build a custom boolean function for a quick check:
Public Function objectExists(ByRef ws As Worksheet, ByVal someName As String) As Boolean
On Error GoTo objectExists_Error
Dim someOle As OLEObject
Set someOle = ws.OLEObjects(someName)
objectExists = True
On Error GoTo 0
Exit Function
objectExists_Error:
objectExists = False
End Function
The call it like this:
Sub TestMe()
Dim s As OLEObject
Dim i As Long
Dim ws As Worksheet: Set ws = Worksheets(1)
Dim someArray As Variant
someArray = Array("CheckBox1", "CheckBox2", "CheckBox3", "CheckBox4")
With ws
For i = LBound(someArray) To UBound(someArray)
If objectExists(ws, someArray(i)) Then
Set s = .OLEObjects(someArray(i))
Debug.Print s.object.Caption
End If
Next i
End With
End Sub
answered Mar 1, 2019 at 14:23
VityataVityata
42.4k8 gold badges55 silver badges98 bronze badges
1
Узнать существует ли объект на форме UserForm |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Формулировка задачи:
Как проверяется в vba существование объекта?
Например объект selection.listobject или selection.offset(-3, 0)
Код к задаче: «Проверить существование объекта»
textual
on error resume next set obj=... if obj is nothing then 'болт else 'гуд end if
Полезно ли:
12 голосов , оценка 4.083 из 5
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |