У меня есть цикл, который идет и проверяет весь столбец. И я хочу, чтобы этот цикл проверял, или нет, это все тот же день, что и предыдущая ячейка (-1). Данные организованы следующим образом:Сравнение дат в цикле
ID DATE TIME PRICE QUANTITY NBE
я уже пробовал как с помощью следующего кода в качестве аргумента для моего цикла, но это не работает ... Даты в колонке B, и форматированием как последуйте за: дд: мм : гггг
Вот что мой новый код выглядит
Sub Macro1()
Dim lngFirstRow As Long, lngLastRow As Long, cRow As Long, lngNextDestRow As Long
Dim jbs As Date
Dim shSrc As Worksheet, shDest As Worksheet
Set shSrc = ActiveWorkbook.Sheets("2008P1")
Set shDest = ActiveWorkbook.Sheets("Sheeet2")
With shSrc
lngFirstRow = 2
lngLastRow = .Cells.Find(What:="*", after:=.Cells.Cells(1), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
lngNextDestRow = 2
For cRow = lngFirstRow To lngLastRow Step 1
jbs = .Cells(cRow, 2)
If jbs <> .Cells(cRow - 1, 2).Value Then
.Rows(cRow).EntireRow.Copy Destination:=shDest.Range("A" & lngNextDestRow)
.Rows(cRow + 1).EntireRow.Copy Destination:=shDest.Range("A" & lngNextDestRow + 1)
lngNextDestRow = lngNextDestRow + 2
End If
Next cRow
End With
End Sub
Благодаря вашему ответ Бранислава я редактировал, как это;) И, кажется, работают хорошо.
1. Может ли быть более 2 случаев одной даты? 2. На следующий день ** всегда будет следующий календарный день? –
Это лист, полный торговых заказов от одного конкретного запаса в течение одного года, листы, которые я должен извлечь из данных, составляют 500K + строки длиной. Мне нужны только первые две открытые торги за каждый торговый день. И следующий не всегда будет следующим календарным днем, потому что рынки не открываются в субботу и воскресенье, и исключительные события, такие как 25 декабря и т. Д. – MrJ1m
Даты сортируются от самых старых до новейших, не так ли? –