У меня есть вывод из старой системы, которая перечисляет сотни страниц. Они сгруппированы по датам. Поскольку это старая система, она выводит выходные данные, и я импортирую в Excel все в столбце A.
Я хочу посчитать, сколько экземпляров чего-либо находится между каждым диапазоном дат.
Так что мой источникis: Обратите внимание на дату Вт 10 сентября 08:52:40 2019 - это дата запуска отчета и не требуется.
Дата вызова: 08/01/2019
6: 47 0:01:0435905 34312
7:19 0:04:50 33365 34312
7:16 0:12:58 36050 34312
7:45 0:16:06 33206 34312
8:52 0:17: 48 33649 34312
9:35 0:02:38 33160 34312
9:29 0:10:10 32735 34312
9:43 0:00:12 34311 34312
9:40 0: 04: 16 33008 34312
10:19 0:09:18 33805 34312
10:25 0:06:00 32735 34312
вт 10 сентября 08:52:40 2019 Расположение: страница2
Дата звонка: 08/01/2019 (продолжение)
7: 19 0:04:50 33365 34312
7:16 0:12:58 36050 34312
7:45 0:16:06 33206 34312
8:52 0:17:48 33649 34312
9:35 0:02:38 33160 34312
9:29 0:10:10 32735 34312
9:43 0:00:12 34311 34312
9:40 0:04:16 33008 34312
10:19 0:09:18 33805 34312
10:25 0:06:00 32735 34312
вт 10 сентября 08:52:40 2019 Место: страница 3
Дата звонка: 08/03/2019
7: 21 0:02:40 37332 34312
7:46 0:00:38 32075 34312
7:49 0:08: 02 37606 34312
8:52 0:02:24 33420 34312
8:58 0:01:40 33519 34312
8:59 0:02:20 36039 34312
9:13 0: 00: 42 35956 34312
9:09 0:04:58 32891 34312
9:19 0:00:18 35338 34312
9:24 0:01:44 33546 34312
Вт 10 сентября 08:52:40 2019 Местоположение: Страница 4
Я думаю, что логика установлена две переменные startRow и endRow с startRow = "Call Date:" и endRow = "Location:"
Затем, используя цикл foreach next, просматривайте каждый диапазон между startRow и endRow, и countif содержит ":"
Проблема, с которой я столкнулся, состоит в том, как мне сначала найти начало диапазона и конец диапазона, но этот диапазон может повторяться много раз. Так думал «цикл для каждого следующего» ??
````vba
Set lastRow = .Cells.Find("Location:", .Cells(1, 1), xlValues, xlPart, , xlPrevious)
Set firstRow = .Cells.Find("Call Date:", .Cells(1, 1), xlValues, xlPart, , xlPrevious)
For Each dateRange In ActiveSheet.Range("firstRow:lastRow") //not sure how to set and loop through each occurrence of first & last row
COUNTIF(firstRow:lastRow,":") //count the rows containing ":"
Next dateRange
Я хотел бы, чтобы вывод был (в столбце C):
Дата звонка: 08/01/2019 19 звонков //помните эту дату, и другие могут занимать несколько страниц
Дата звонка: 08/02/2019 10 звонков
Дата звонка: 08/03/2019 6 звонков
и т. д. .
Большое спасибо!