В основном, что это такое, он проверяет каждую строку в ws2, где столбец = «Обновление», затем извлекает данные конкретного столбца и выдает его в соответствующую ячейку в ws1. в первый раз, когда это было реализовано, все прошло гладко, теперь по какой-то причине требуется немного времени, чтобы закончить.Excel VBA, для цикла игнорируют скрытые строки
Dim LastRow As Long, CurRow As Long, DestRow As Long, DestLast As Long
Dim checkstatus As String
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Dashboard")
Set ws2 = Sheets("TempHRI")
LastRow = ws2.Range("B" & Rows.Count).End(xlUp).Row
DestLast = ws1.Range("E" & Rows.Count).End(xlUp).Row
For CurRow = 2 To LastRow 'Assumes first row has headers
checkstatus = CStr(ws2.Range("AB" & CurRow).Value)
If checkstatus = "UPDATE" Then
'Column that looks up the word "Update" in ws2
If Not ws1.Range("E15:E" & DestLast).Find(ws2.Range("B" & CurRow).Value, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then
DestRow = ws1.Range("E15:E" & DestLast).Find(ws2.Range("B" & CurRow).Value, LookIn:=xlValues, LookAt:=xlWhole).Row
End If
ws1.Range("I" & DestRow).Value = ws2.Range("F" & CurRow).Value 'assumes supervisor is in column C in both sheets
End If
Next CurRow
Я хочу разместить фильтр в ws1 таким образом, я могу свести к минимуму количество строк, которые необходимо проверить. теперь я уверен, что код ниже НЕ ЯВЛЯЕТ скрытые строки. Мне нужна помощь в настройке кода, чтобы исключить скрытые строки при запуске цикла.
Просто используйте Автофильтр на рабочем листе2, как показано [здесь] (http://stackoverflow.com/questions/11631363/how-to-copy-a-line-in-excel-using-a-specific-word-and-pasting-to-another- excel-s) a nd, тогда пропустите только этот диапазон –