Excel это не сложно

Основные форумы => Вопросы по Excel и VBA => Тема начата: Venger от 03.12.2019, 12:15:26



Название: Смещаемая переменная для формулы =СЧЁТЕСЛИ (COUNTIF)
Отправлено: Venger от 03.12.2019, 12:15:26
Добрый день!
Подскажите как в формуле [COUNTIF($G$6:G6,G6)] задать переменную для "G6", которая будет смещаться относительно строк G7,G8,G9.....(то есть диапазон подсчета будет постепенно увеличиваться). Первая часть диапазона не требует смещения, ей можно не присваивать переменную.


Код: (vb)
Sub SCHET_ESLI()
Dim oCell As Range
For Each oCell In Range("G6:G100000")
If oCell <> "" Then
Range(Cells(oCell.Row, 8 ), Cells(oCell.Row, 8 )) = [COUNTIF($G$6:G6,G6)]  ' где Range(Cells(oCell.Row, 8 ), Cells(oCell.Row, 8 )) - соответствует ячейке столбца"H:H"
    End If
Next
End Sub


Название: Re:Смещаемая переменная для формулы =СЧЁТЕСЛИ (COUNTIF)
Отправлено: Venger от 03.12.2019, 12:17:30
Код: (vb)
Sub SCHET_ESLI()
     Dim oCell As Range

     For Each oCell In Range("G6:G100000")
          If oCell <> "" Then
               Range(Cells(oCell.Row, 8 ), Cells(oCell.Row, 8 )) = [COUNTIF($G$6:G6,G6)]
          End If
     Next
End Sub


Название: Re:Смещаемая переменная для формулы =СЧЁТЕСЛИ (COUNTIF)
Отправлено: boa от 03.12.2019, 13:15:34
Здравствуйте,
Код: (vb)
Cells(oCell.Row, 8 ) = Application.WorksheetFunction.CountIf(Range("$G$6:G" & oCell.Row), Range("G" & oCell.Row))


Название: Re:Смещаемая переменная для формулы =СЧЁТЕСЛИ (COUNTIF)
Отправлено: Venger от 03.12.2019, 13:33:15
Спасибо за помощь!


Название: Re:Смещаемая переменная для формулы =СЧЁТЕСЛИ (COUNTIF)
Отправлено: Дмитрий Щербаков(The_Prist) от 03.12.2019, 14:44:03
Может это нужно было?
Код: (vb)
Sub SCHET_ESLI()
    Range("H6:H" & Cells(Rows.Count, 7).End(xlUp).Row).FormulaR1C1 = "=COUNTIF(R6C7:RC7,RC7)"
End Sub