Всем привет!
Во вложении пример небольшой таблички. Написал макрос который проверяет есть ли пустые ячейки в таблице.
Попробовал с помощью массива и без. Оба варианта не особо быстрые (причем без массива на доли секунд быстрее). Можно как-то ускорить обработку?
Во вложении пример небольшой таблички. Написал макрос который проверяет есть ли пустые ячейки в таблице.
Попробовал с помощью массива и без. Оба варианта не особо быстрые (причем без массива на доли секунд быстрее). Можно как-то ускорить обработку?
Код |
---|
Sub check_inbound() Dim arr_check As Variant Dim t As Single t = Timer Application.ScreenUpdating = False With Sheets("Приход") 'arr_check = .Range(.Cells(6, 3), .Cells(.UsedRange.Rows.Count, 10)) 'For i = LBound(arr_check, 1) To UBound(arr_check, 1) ' For j = LBound(arr_check, 2) To UBound(arr_check, 2) ' If IsEmpty(arr_check(i, j)) Then ' .Cells(i + 5, 2).Value = "NOK" ' GoTo next_i ' Else: .Cells(i + 5, 2).Value = "OK" ' End If ' Next j 'next_i: 'Next i For i = .UsedRange.Rows.Count To 6 Step -1 For j = 3 To 10 If IsEmpty(.Cells(i, j).Value) Then .Cells(i, 2).Value = "NOK" GoTo next_i Else: .Cells(i, 2).Value = "OK" End If Next j next_i: Next i End With t = Timer - t MsgBox t Application.ScreenUpdating = True End Sub |