Приветствую участников. Все подробно описал в примере...Необходимо макросом или формулой удалить значения по условию. Проблему изложил с предысторией, возможно есть более рациональное решение. Заранее спасибо.
Приветствую участников. Все подробно описал в примере...Необходимо макросом или формулой удалить значения по условию. Проблему изложил с предысторией, возможно есть более рациональное решение. Заранее спасибо.Мур
Мур, Можно и макросом если Уважаемая Pelena не будет против то мы можем её формулу использовать применив Evaluate что даст нам вставить сразу значения а не саму формулу в ячейки. [vba]
Код
Option Explicit
Sub FormulaWithEvaluate() Dim i As Long
With Sheet1
Dim lastRow As Long lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow .Range("L" & i).Value = .Evaluate( _ "IFERROR(INDEX(A$1:A$20,SMALL(IF(COUNTIFS(A$1:A$20,A$1:A$20,B$1:B$20,B$1:B$20)=1,ROW(A$1:A$20),IF(C$1:C$20>0,ROW(A$1:A$20))),ROW(A" & i & "))),"""")" _ )
.Range("M" & i).Value = .Evaluate( _ "IFERROR(INDEX(E$1:E$20,SMALL(IF(COUNTIFS(A$1:A$20,A$1:A$20,B$1:B$20,B$1:B$20)=1,ROW(A$1:A$20),IF(C$1:C$20>0,ROW(A$1:A$20))),ROW(A" & i & "))),"""")" _ ) Next i
End With
End Sub
[/vba]Данный код вставить вам надо в стандартный модуль. Удачи.
Мур, Можно и макросом если Уважаемая Pelena не будет против то мы можем её формулу использовать применив Evaluate что даст нам вставить сразу значения а не саму формулу в ячейки. [vba]
Код
Option Explicit
Sub FormulaWithEvaluate() Dim i As Long
With Sheet1
Dim lastRow As Long lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow .Range("L" & i).Value = .Evaluate( _ "IFERROR(INDEX(A$1:A$20,SMALL(IF(COUNTIFS(A$1:A$20,A$1:A$20,B$1:B$20,B$1:B$20)=1,ROW(A$1:A$20),IF(C$1:C$20>0,ROW(A$1:A$20))),ROW(A" & i & "))),"""")" _ )
.Range("M" & i).Value = .Evaluate( _ "IFERROR(INDEX(E$1:E$20,SMALL(IF(COUNTIFS(A$1:A$20,A$1:A$20,B$1:B$20,B$1:B$20)=1,ROW(A$1:A$20),IF(C$1:C$20>0,ROW(A$1:A$20))),ROW(A" & i & "))),"""")" _ ) Next i
End With
End Sub
[/vba]Данный код вставить вам надо в стандартный модуль. Удачи.MikeVol