У меня есть лист со списком футбольных матчей и соответствующими данными. Каждую неделю я загружаю новые данные о совпадениях с веб-сайта, выбираю все новые совпадения и добавляю эти строки на лист, а затем копирую несколько формул из столбцов, которые есть только на моем листе и не являются частью загруженного листа.
Я собрал приведенный ниже код для импорта данных, соединив здесь сообщения и другие форумы:
Sub FD_new()
Dim rngLeague As Range
Dim cell As Range
Dim copiedRange As Range
Dim r As Integer
Dim LastRowSrc As Long
Dim LastRowDestA As Long
Dim DestWS As Worksheet
Dim DestWB As Workbook
Dim MaxDate As long
Set DestWB = Workbooks("Master Sheet")
Set DestWS = DestWB.Worksheets("Sheet1")
MaxDate = DateValue("03/03/2019")
'Build selected range to copy from dowload sheet
LastRowSrc = Cells(Rows.Count, "A").End(xlUp).Row
r = 0
Set rngLeague = Range("C2:C" & LastRowSrc)
For Each cell In rngLeague
If DateValue(cell) > MaxDate Then
If r = 0 Then
Set copiedRange = Range(cell.Offset(0, -2), cell.Offset(0, 11))
r = 1
Else
Set copiedRange = Union(copiedRange, Range(cell.Offset(0, -2), cell.Offset(0, 11)))
End If
End If
Next cell
'Copy and paste range once finished
If r = 1 Then
LastRowDestA = DestWS.Cells(Rows.Count, "A").End(xlUp).Row
copiedRange.Copy DestWS.Range("A" & LastRowDestA + 1)
End If
End Sub
Однако сложность заключается в том, что в листе для загрузки иногда отсутствуют последние данные для всех лиг - некоторые обновляются ежедневно, а некоторые - каждые 2-3 дня. Это означает, что в ручном режиме я должен проверить свой мастер-лист на самую последнюю дату матча для каждой лиги, перейти на лист загрузки, выбрать все матчи для этой лиги, которые после этой даты, и скопировать. Следовательно, я не могу просто использовать одну MaxDate (как в коде выше).
Так что я думаю, что мне нужно обновить мой код:
- определить самую последнюю дату матча по лиге в мастер-листе
- определить все самые последние матчи для этой лиги в листе загрузки
- скопируйте их на мастер лист
- повторить для всех лиг
Конечно, может быть более простой способ сделать это!
Я думаю, мне нужно создать массив (или массивы) лиг и дат, но, если честно, я запутался.