Здравствуйте, помогите пожалуйста решить следующую проблему:
Записал себе макрос, а он не работает как надо.
В колонку G должна вставляться формула ЕСЛИ(ЕОШ(ПОИСК("*витяжка*";B8)>0);F8*0,85;F8*0,88), но если текст в RC[-1] красный, то должно встать просто =RC[-1].
Как я понимаю проблема в том что Selection.FillDown отказывается работать с фильтром.
Каким образов можно определить цвет текста в ячейке, что бы обойтись без использования фильтра?
файл для примера прикрепил - лист2 - как должно быть.
код макроса:
Код |
---|
Sub ПрайсМакро()
Columns("G:G").Select
Selection.ClearContents
Range("H3").Select
ActiveCell.FormulaR1C1 = "курс:"
Range("I3").Select
ActiveCell.FormulaR1C1 = "25"
Range("G7").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERR(SEARCH(""*витяжки*"",RC[-5])>0),RC[-1]*0.85,RC[-1]*0.88)"
Range("G7").Select
Selection.AutoFill Destination:=Range("G7:G205")
Range("G7:G205").Select
ActiveSheet.Range("$A$6:$F$205").AutoFilter Field:=6, Criteria1:=vbRed, Operator:=xlFilterFontColor
Range("G7").Select
ActiveCell.FormulaR1C1 = "=RC[-1]"
Range("G7").Select
Selection.FillDown
ActiveWindow.SmallScroll Down:=-138
Selection.AutoFilter
Range("I7").Select
ActiveCell.FormulaR1C1 = "=IF(RC[2]/R3C9-RC[-2]<15,RC[-2]+15,RC[2]/R3C9)"
Range("I7").Select
Selection.AutoFill Destination:=Range("I7:I227"), Type:=xlFillDefault
Range("I7:I227").Select
ActiveWindow.SmallScroll Down:=-210
Range("H7").Select
End Sub
|