Здравствуйте, помогите пожалуйста решить следующую проблему:
Записал себе макрос, а он не работает как надо.
В колонку G должна вставляться формула ЕСЛИ(ЕОШ(ПОИСК("*витяжка*";B8)>0);F8*0,85;F8*0,88), но если текст в RC[-1] красный, то должно встать просто =RC[-1].
Как я понимаю проблема в том что Selection.FillDown отказывается работать с фильтром.
Каким образов можно определить цвет текста в ячейке, что бы обойтись без использования фильтра?
файл для примера прикрепил - лист2 - как должно быть.
код макроса:
Записал себе макрос, а он не работает как надо.
В колонку 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 |
Изменено: VectorXXX - 07.04.2016 22:54:26
(Смена названия темы)