Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Мигание ячейки - как остановить выполнение макроса

Автор Anton Stasenko, 27.02.2012, 14:08

« назад - далее »

Anton Stasenko

Решил заморочиться с "Миганием ячеек", т.к. это для Пользователя более наглядно (по сравнению с обычным выделением неверно заполненной ячейки через условное_форматирование). Но столкнулся с тем, что мой макрос автоматически начинает свое выполнение после того, как он весь выполнится (это я узнал через пошаговое выполнение макроса). Из-за этого эксель естественно виснет. Подскажите, пожалуйста, как можно доработать макрос, чтобы он выполнялся только определенное время - например, 20 секунд - а после просто прекращал свою работу. При этом, чтобы у пользователя была возможность просматривать лист вверх-вниз (т.е. чтобы видеть где ошибки - т.е. именно мигающие ячейки).
Sub BlinkingCell()
Dim Cell As Range
With Worksheets("Balansas, pna")
For Each Cell In Range("C10:D178")
    If Cell < 0 Then
    Static intCalls As Integer
        If intCalls < 10 Then
        intCalls = intCalls + 1
            If Cell.Interior.Color <> RGB(255, 0, 0) Then
            Cell.Interior.Color = RGB(255, 0, 0)
            Else
            Cell.Interior.Color = RGB(0, 255, 0)
            End If
        Application.OnTime Now + TimeValue("00:00:05"), "BlinkingCell"
        Else: Cell.Interior.ColorIndex = xlNone
        intCalls = 0
        End If
    End If
Next Cell
End With
End Sub

Wasilic

Вы цикл создавали для мигалки или для диапазона ячеек! :)
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.

Anton Stasenko

Да вы сделали именно то, что мне надо было - я не туда поставил цикл - спасибо.