Можно ли отобразить значение в зависимости от наличия границы ячейки?

Мы смотрим на некоторые импорт данных. Существует очень большой сложный лист, в котором некоторые элементы сгруппированы с использованием границ вокруг ячеек в одном столбце. Единственным признаком того, что элементы сгруппированы, является тот факт, что группа окружена рамкой. Элементы, не сгруппированные, не имеют левой и правой границ в ячейке (могут иметь верхнюю и нижнюю границы, так как элементы выше и ниже могут быть сгруппированы). В качестве начального упражнения мы хотим добавить столбец, который отображает true, если элемент сгруппирован. Так что, если есть граница, отобразите значение, подобное единице. Кто-нибудь знает, возможно ли это?

1 ответ

Решение

Используйте эту пользовательскую функцию VBA:

Public Function GetBorder(ByVal Rng As Range, Idx As Integer) As Boolean
    GetBorder = Rng.Borders(Idx).LineStyle <> xlNone
End Function

Он принимает два аргумента: ячейка и индекс границы (7= слева, 8= снизу, 9= сверху, 10= справа). Возвращает TRUE или же FALSE, Теперь, если вы хотите получить информацию о нижней границе ячейки A1 вам следует:

=GetBorder(A1,8)
Другие вопросы по тегам