Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Очистка ячеек произвольного диапазона по цвету текста в ячейки
 
Добрый день!
Требуется очистить ячейки в произвольном диапазоне (а то и во всём листе) по признаку цвета текста, цифр в ячейке.
Цикл работает, ячейки не чистятся, ошибка при  Cell.ClearContents.
Вот что сообразил и вспомнил:
Код
Public Function SBC(DataRange As Range, ColorSample As Range) As Double
Dim Sum As Double
Application.Volatile True
For Each Cell In DataRange
    If Cell.Font.Color = ColorSample.Font.Color Then
'       Cell.ClearContents
        Sum = Sum + 1
    End If
Next Cell
SBC = Sum
End Function

Элементарно прошу помочь в элементарном. Сто лет здесь не был.
Спасибо.
 
Если вызываете функцию непосредственно с листа - то и правильно ошибка появляется. UDF не могут этого делать. Код надо выносить в процедуру или как минимум из процедуры вызывать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков,  Не получилось ....
 
Цитата
Дмитрий(The_Prist) Щербаков: UDF не могут этого делать. Код надо выносить в процедуру или как минимум из процедуры вызывать
Цитата
march: Не получилось ....
а вы пробовали? Покажите код тут
Реквизиты для благодарности и контакты для связи — в профиле
 
Заработало, глядя на соседнюю ветку "Запись текста в ячейки с определенным цветом"
Код
Sub Clear_ws_Color
'очистка ячеек с красным текстом 
For Each i In ThisWorkbook.Worksheets("ТребуемыйЛист").UsedRange
    If i.Font.Color = 255 Then i.Clear
Next i
End Sub
Зачистка только на весь лист, но это сейчас меня устраивает..

Спасибо всем!
Изменено: march - 21 янв 2020 14:00:40
 
march, попробуйте так:
Код с комментрариями
Изменено: Jack Famous - 21 янв 2020 14:50:27
Реквизиты для благодарности и контакты для связи — в профиле
 
Jack Famous, Спасибо, ваше решение более универсально и красиво.
 
march, спасибо и вам  ;)
Если диапазоны будут огромные, то можно будет ускорить
Реквизиты для благодарности и контакты для связи — в профиле
Страницы: 1
Читают тему (гостей: 1)
Наверх