Страницы: 1
RSS
СУММЕСЛИ по датам в умной таблице VBA
 
Добрый день!
Подскажите пожалуйста как сделать формулу СУММЕСЛИ с помощью VBA универсальной, то есть кол-во столбцов может быть больше или меньше, указанных в примере. вопрос по ячейкам отмеченным жёлтым цветом в колонке Итог.
Код
Sub Образец()
    Range("I9").FormulaR1C1 = _
        "=SUMIF(R4C2:R4C[-1],""<=""&R2C1,Таблица1[@[01.04.2021]:[07.04.2021]])"
End Sub
 
Здравствуйте!
Вопрос по созданию формулы макросом сама же поднимала здесь.
Мне помог код, созданный пользователем New.
Если вы кликните в ячейку, в которой нужно вывести значение суммы по условию, и нажмете на кнопку "Формула", то появится результат вычисления.
Код
Function FindColumn(ColumnName As String) As LongDim LastCol As Long, i As Long
 
    LastCol = ActiveSheet.UsedRange.Columns.Count 'Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 1 To LastCol
        If LCase(Cells(3, i)) = LCase(ColumnName) Then
            FindColumn = i
            Exit Function
        End If
    Next i
End Function
Код
Sub Образец()
    q = FindColumn("Итог")
    q1 = FindColumn("План/Факт")
    x = ActiveCell.Row
    a = "<=" & CLng(Cells(2, 1).Value)
    Cells(x, q).Formula = WorksheetFunction.SumIf(Range(Cells(4, q1 + 1), Cells(4, q - 1)), a, Range(Cells(x, q1 + 1), Cells(x, q - 1)))
   
End Sub
Пыталась сделать так, чтобы в ячейке отображалась именно формула, с указанием взятых диапазонов, но моих знаний в VBA для этого не достаточно.  
Изменено: turbidgirl - 08.04.2021 23:31:33
Страницы: 1
Наверх