=СУММ(ArrayFormula({B2:B11*ЕСЛИОШИБКА(ВПР(A2:A11;{E2:E11\F2:F11};2;0))}))
Sub Replace_Dates()
Dim i As Long
Dim v As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
v = Cells(i, 1).Value
v = Replace(v, " января", ".1.")
v = Replace(v, " февраля", ".2.")
v = Replace(v, " марта ", ".3.")
v = Replace(v, " апреля ", ".4.")
v = Replace(v, " мая ", ".5.")
v = Replace(v, " июня ", ".6.")
v = Replace(v, " июля ", ".7.")
v = Replace(v, " августа ", ".8.")
v = Replace(v, " сентября ", ".9.")
v = Replace(v, " октября ", ".10.")
v = Replace(v, " ноября ", ".11.")
v = Replace(v, " декабря ", ".12.")
v = Replace(v, " года", "")
Cells(i, 1).Value = CDate(v)
Next i
End Sub
Sub TestCall()
Call (Sub() Console.Write("Hello"))()
Call New TheClass().ShowText()
End Sub
Class TheClass
Public Sub ShowText()
Console.Write(" World")
End Sub
End Class
Filename = НоваяПапка & ФИО & РасширениеСоздаваемыхФайлов
Filename = ФИО & РасширениеСоздаваемыхФайлов
НоваяПапка = NewFolderName & Application.PathSeparator
'...
Function NewFolderName() As String
NewFolderName = Replace(ThisWorkbook.fullName, ThisWorkbook.Name, "Договоры, сформированные " & Get_Now)
MkDir NewFolderName
End Function
/**
* Функция возвращает сумму ячеек в диапазоне с цветом фона равным color
* @param {Any[][]} range - Диапазон ячеек
* @param {String} color - цвет фона ячеек
* @return {Number} сумма ячеек в диапазоне с цветом фона равным color
*/
function sumByBackgroundColor(range, color) {
const values = range.getValues();
const backgrounds = range.getBackgrounds();
let sum = backgrounds.reduce((acc, row, ri) => {
return row.reduce((acc, c, ci) => {
if (c === color) {
return acc + values[ri][ci];
}
return acc;
}, acc);
}, 0);
return sum;
}
Public Function SumCellsByColor(rng As Range, clr As Long) As Double
Dim cell As Range
Dim colSum As Double
colSum = 0
For Each cell In rng
If cell.Interior.ColorIndex = clr Then
colSum = colSum + cell.Value
End If
Next cell
SumCellsByColor = colSum
End Function