Так что не уверен, что это правильный путь, потому что я только начинаю учиться писать на VBA.
Я создал код, который будет циклически проходить по моим данным и в основном обнаруживать, находился ли статус в определенном состоянии, который был «Получен», если нет, по сути он находился бы в другом состоянии, но яМне было все равно, что это за статус, потому что я автоматически узнаю, что он не был получен.Итак, мне нужно было просто знать, получено это или нет.
Мои данные изначально были отформатированы таким образом, чтобы они были "Status" "Date" "Status" "Date" "Status" "Date"
и т. Д., Все в одной строке.Каждая строка будет представлять один ID
.
Теперь мой набор данных изменился на:
- 1-й ряд -
"ID" "Status" "Date"
- 2-й ряд -
"ID" "Status" "Date"
Однако теперь моя проблема заключается в том, что один ID
может продолжаться и иметь несколько состояний, поэтому он может продолжаться для 7 строк с одинаковым ID
, тогда как другой может просто иметь 2 разных состояния и поэтому быть представленнымтолько 2 ряда.
Теперь, я немного запутался, как это будет работать с циклами?Есть ли способ представить каждого отдельного ID
и сделать так, чтобы цикл «только цикл» проходил через количество строк, с которыми ID
связан с ними?
Вот мой оригинальный код:
Sub CheckDates()
Dim count As Integer
Dim i As Integer
Dim j As Integer
Sheets(1).Select
lastrow = ActiveSheet.Cells(Rows.count, "B").End(xlUp).Row
'have to keep data in a table for this to actually work as it ctrls+left to the table, which will end where the very last text of any row is
lastcolumn = ActiveSheet.Cells(3, Columns.count).End(xlToLeft).Column
count = 0
i = 4
j = lastcolumn
For i = 4 To lastrow
For j = lastcolumn To 6 Step (-1)
If Sheet1.Cells(i, j) < Sheet2.Cells(1, 1) And Sheet1.Cells(i, j - 1) = "Reçu" Then
count = count + 1
Cells(i, 1).Interior.ColorIndex = 6
GoTo NextIteration
End If
Next j
NextIteration:
Next i
Sheet2.Cells(1, 7) = count
Sheets(2).Select
'Runs the DeleteSAC Macro
Call DeleteSAC
End Sub
Пример данных:
