Есть такой документ, на "главном " листе необходимо притянуть столбец "нужные данные" на лист "второй". Сначала реализовал с помощью функции ПРОСМОТР для одного столбца, но в документе будет больше 10 000 строк и работает это очень долго для 1 столбца, а для всех я уже молчу. Теперь хочу попытаться реализовать с помощью "Индекса и поиск позиции" (по средство макроса разумеется в виде кнопки). Это старая реализация. Как лучше подойти ?
Код
Sub Макрос1()
Application.ScreenUpdating = False 'Отключаем обновление экрана
Sheets("главный").Select
'Получаем кол-во заполененных строк'
Dim LastRow As Long, i As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 11 To LastRow
If Cells(i, 11).Value = "" Then Exit For
Next
'Заполенение 1 столбца'
Sheets("второй").Select
For i = 11 To LastRow
Cells(i - 5, 5).Formula = "=LOOKUP(2,1/(($A" & i - 5 & "=главный!$A" & i & ":$A$" & LastRow & ")*($B" & i - 5 & "=главный!$B" & i & ":$B" & LastRow & ")*($C" & i - 5 & "=главный!$C" & i & ":$C" & LastRow & ")*($D" & i - 5 & "=главный!$D" & i & ":$D" & LastRow & ")),главный!$E" & i & ":$E" & LastRow & ")"
Код
If Cells(i - 5, 5) = 0 Then
Cells(i - 5, 5).Value = ""
End If
Next i
Application.ScreenUpdating = True
End Sub
Но не суть, хочу чтобы она выполнялась в макросе, пишу цикл:
Код
Sub Macros()
Dim LastRow As Long, CountString As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row' определяем кол-во строк в нашему диапазоне (непустых)
For CountString = 11 To LastRow
If Cells(CountString, 11).Value = "" Then Exit For
Next
For i = CountString To LastRow
Range(i, 5).Formula = "=Просмотр(2;1/(($A(i-6)=нормы!$A$11:$A$10399)*($B(i-6)=нормы!$B$11:$B$10399)*($C(i-6)=нормы!$C$11:$C$10399)*($D(i-6)=нормы!$D$11:$D$10399));нормы!$E$11:$E$10399)"
Доброго времени суток "Мозгеры"! Прошу помочь с решением данной задачи: Есть 2 листа, на одном записана информация о изделиях, норме времени и премии. Во втором тоже самое только без столбца премия. Необходимо написать макрос, который бы ( сделаю кнопку) искал изделие по параметрам ( типоразмер, S ) и копировал для каждого такого изделия норму времени в лист "Норма времени". Для наглядности прикладываю пример: Спасибо.
А вообще так подумал, можно сделать проще, просто скопировать, но как это будет выглядеть пока не понимаю
Доброе утро всем. Начинаю осваивать VBA. Назрел вопрос: Нужно скопировать столбец ячеек начиная с ячейки J174 (до первой пустой ячейки) и вставить его например в W174. Не могу понять как мне пройти по этому столбцу начиная с нужной ячейки и до конца, т.к записей может быть 2, а может и 1000, пытаюсь реализовать это посредством макроса. Спасибо..