Добрый день! Необходимо вывести индивидуальные номера на отдельный лист, исходя из следующих условий 1) Способ закупки - все, кроме ЕП 2) Планируемая дата - 1 квартал 2017 3) НМЦ договора - больше 50млн. рублей 4) Привлечение спец.орг. - нет
Добрый день! Необходимо вывести индивидуальные номера на отдельный лист, исходя из следующих условий 1) Способ закупки - все, кроме ЕП 2) Планируемая дата - 1 квартал 2017 3) НМЦ договора - больше 50млн. рублей 4) Привлечение спец.орг. - нетMaryasha
Дык после наложения условий фильтра просто вручную выделить результат и скопировать в другое место, нет? Или надо, чтобы еще и перечисленные условия сами включались макросом?
Иными словами - решается практическая задача или учебное задание?
Дык после наложения условий фильтра просто вручную выделить результат и скопировать в другое место, нет? Или надо, чтобы еще и перечисленные условия сами включались макросом?
Иными словами - решается практическая задача или учебное задание?Gustav
А учебное задание не может быть практической задачей?) Надо чтобы вывелись на отдельный лист номера по выделенным условиям, в реальности файлы содержат 500-1000 строчек и их довольно-таки много
А учебное задание не может быть практической задачей?) Надо чтобы вывелись на отдельный лист номера по выделенным условиям, в реальности файлы содержат 500-1000 строчек и их довольно-таки многоMaryasha
Сообщение отредактировал Maryasha - Среда, 12.07.2017, 17:45
Sub uniqNumbers() Dim lr&, i&, r& Dim sh1 As Worksheet, sh2 As Worksheet Set sh1 = ThisWorkbook.Sheets(1) Set sh2 = ThisWorkbook.Sheets(2) r = 2 With sh2 .Cells(2, 1).Resize(.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents End With With sh1 lr = .Cells(Rows.Count, 1).End(xlUp).Row For i = 16 To lr If .Cells(i, "f") <> "ЕП" And _ Month(.Cells(i, "m")) <= 3 And _ .Cells(i, "w") > 50000000 And _ .Cells(i, "ao") = "Нет" Then
sh2.Cells(r, 1) = .Cells(i, 1) r = r + 1 End If Next i End With End Sub
[/vba]
Maryasha, здравствуйте, так подойдет? [vba]
Код
Sub uniqNumbers() Dim lr&, i&, r& Dim sh1 As Worksheet, sh2 As Worksheet Set sh1 = ThisWorkbook.Sheets(1) Set sh2 = ThisWorkbook.Sheets(2) r = 2 With sh2 .Cells(2, 1).Resize(.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents End With With sh1 lr = .Cells(Rows.Count, 1).End(xlUp).Row For i = 16 To lr If .Cells(i, "f") <> "ЕП" And _ Month(.Cells(i, "m")) <= 3 And _ .Cells(i, "w") > 50000000 And _ .Cells(i, "ao") = "Нет" Then
sh2.Cells(r, 1) = .Cells(i, 1) r = r + 1 End If Next i End With End Sub