Это макрос, который проверяет, были ли строки старше 30 минут СЕЙЧАС и очищает их, если они не являются. Я пытаюсь изменить:Проверьте, не находится ли строка в пределах определенного лимита времени
Loop Until > Lastrow
вместо этого цикла только до тех пор, пока не достигнет первой строки в течение 30 минут в настоящее время (чтобы уменьшить объем вычислений, как машина борется). Я испробовал варианты:
Loop Until .Cells(i, "A") > TimeLimit
Но, не повезло. Любая помощь очень ценится! Контекст:
Lastrow = Range("A1").SpecialCells(xlCellTypeLastCell).row
With ws1
i = 1
TimeLimit = Time - TimeSerial(0, 30, 0)
Do
If .Cells(i, "A") < TimeLimit Then
.Cells(i, "A").EntireRow.ClearContents
End If
i = i + 1
Loop Until i > Lastrow
End With
End Sub
Вот код таймера он должен пойти в:
Sub Update()
With Sheets("DATA")
rw = .Cells(.rows.Count, 1).End(xlUp).row + 1
.Range(.Cells(rw, 1), .Cells(rw, 6342)).value = Sheets("DATA").Range("A7:IJZ7").value
End With
Application.OnTime Now + TimeSerial(0, 0, 1), "update"
End Sub
Спасибо, но я получаю несоответствие типа ChkTIme .. col A во временном формате. –
Попробуйте использовать его сейчас, он отлично работает на моем конце, вы можете опубликовать снимок экрана рабочего листа в своем вопросе. – newguy
Думаю, я знаю, почему: мои данные начинаются с строки 10, а в других форматах данных используются ячейки выше. Я попробую переформатировать лист и включить ваш код в таймер. Еще раз спасибо! –