Товарищи, добрый день. Очень нужна Ваша помощь. есть файл в котором большое кол-во строк, порядка 200 000, на первом листе располагаются ФИО , дата и кол-во товара. Необходимо на 2ой лист, по условия совпадения даты и ФИО в столбец КОЛ-Во подтянуть данные с первого листа. Моих познаний хватает только чтобы выполнить условие по ФИО, он подтягивает только к ФИО кол-во, как зря. Помогите пожалуйста добавить условие чтобы он проверял дату.
Товарищи, добрый день. Очень нужна Ваша помощь. есть файл в котором большое кол-во строк, порядка 200 000, на первом листе располагаются ФИО , дата и кол-во товара. Необходимо на 2ой лист, по условия совпадения даты и ФИО в столбец КОЛ-Во подтянуть данные с первого листа. Моих познаний хватает только чтобы выполнить условие по ФИО, он подтягивает только к ФИО кол-во, как зря. Помогите пожалуйста добавить условие чтобы он проверял дату.Vladimir32
sboy, дело в том, что ранее эта формула и использовалась для этого, но файл иногда увеличивается до 900 000 строк, и начинает очень долго грузиться и обновляться, именно с этой целью и возникла потребность в макросе(
sboy, дело в том, что ранее эта формула и использовалась для этого, но файл иногда увеличивается до 900 000 строк, и начинает очень долго грузиться и обновляться, именно с этой целью и возникла потребность в макросе(Vladimir32
Sub мяу() Dim ar, i& ar = Sheets("Лист1").Range("A1").CurrentRegion.Value With CreateObject("Scripting.Dictionary") For i = 1 To UBound(ar) .Item(ar(i, 1) & "|" & ar(i, 2)) = ar(i, 3) Next ar = Sheets("Лист2").Range("A1").CurrentRegion.Value For i = 1 To UBound(ar) If .exists(ar(i, 1) & "|" & ar(i, 2)) Then ar(i, 5) = .Item(ar(i, 1) & "|" & ar(i, 2)) Next Sheets("Лист2").Range("A1").Resize(UBound(ar), UBound(ar, 2)).Value = ar End With End Sub
[/vba]
[vba]
Код
Sub мяу() Dim ar, i& ar = Sheets("Лист1").Range("A1").CurrentRegion.Value With CreateObject("Scripting.Dictionary") For i = 1 To UBound(ar) .Item(ar(i, 1) & "|" & ar(i, 2)) = ar(i, 3) Next ar = Sheets("Лист2").Range("A1").CurrentRegion.Value For i = 1 To UBound(ar) If .exists(ar(i, 1) & "|" & ar(i, 2)) Then ar(i, 5) = .Item(ar(i, 1) & "|" & ar(i, 2)) Next Sheets("Лист2").Range("A1").Resize(UBound(ar), UBound(ar, 2)).Value = ar End With End Sub