Если я читаю ThemeColor границы из Excel FormatCondition, это выдает мне ошибку
'Ошибка приложения или объекта'
всписок наблюдения или
Ошибка времени выполнения 5: «Недопустимый вызов процедуры или аргумент»
при чтении в окне «Немедленно».В других случаях это просто ноль.Кажется, ошибка возникает, когда существует действительный набор границ.
С https://docs.microsoft.com/en-us/office/vba/api/excel.border.themecolor Я получаю следующее
Попытка получить доступ к цвету темы для объекта, чейцвет, не являющийся тематическим, приведет к ошибке времени выполнения недопустимого запроса.
Другие объекты, которые я проверяю, также имеют похожую проблему, например .Interior.ThemeColor
.
Как узнать, является ли объект тематическим - есть ли официальный способ сделать это?Могу ли я использовать тот факт, что есть ошибка, чтобы сделать вывод, что она не тематическая или ошибки могут возникать по другим причинам?
Пример кода:
Dim WS As Worksheet
Dim fcs As FormatConditions
Dim cf1 As FormatCondition
Dim b1 As Border
Set WS = ActiveSheet
Set fcs = WS.Cells.FormatConditions
Set cf1 = fcs.item(1)
Set b1 = cf1.Borders.item(xlEdgeBottom)
Dim tc As Variant
tc = b1.ThemeColor 'error
tc = cf1.Interior.ThemeColor 'error
Воспроизвестисоздать лист Excel с условным правилом форматирования.Правила, которые я использую, используют формулу, например = NOT (ISNUMBER (C9)), и накладывают цвет заливки ячейки, а иногда и границу внизу ячейки, и охватывают диапазон ячеек, например, $ C $ 8: $C $ 39