excel Office脚本(按颜色对单元格求和)

fhity93d  于 2023-01-31  发布在  其他
关注(0)|答案(1)|浏览(149)

我试图转换一个代码,它使一个单元格的颜色在VBA的总和,但我需要使用相同的代码或从Office脚本代码的行动,我不知道如何在这个平台的结构,也许,你能帮我做到这一点?
VBA中的代码如下:代码

Function SumByColor(Cellcolor As Range, RangeSum As Range) As Double

Dim cell As Range

For Each cell In RangeSum

If celda.Interior.ColorIndex = Celdacolor.Cells(1, 1).Interior.ColorIndex Then SumByColor = SumByColor+ cell

Next cell

Set cell = Nothing

End Function

所以我需要在office脚本中使用此代码

uurity8g

uurity8g1#

以下是在OfficeScript中编写函数的一种方法以及如何调用该函数-

function main(workbook: ExcelScript.Workbook) {
    let sheet = workbook.getActiveWorksheet();
    console.log (sumByColor(sheet.getRange("E41"), workbook.getSelectedRange()))
}

function sumByColor(cellColor:ExcelScript.Range, rangeSum:ExcelScript.Range):number {
    let value = 0;
    let rowCount = rangeSum.getRowCount();
    let columnCount = rangeSum.getColumnCount();
    let colorToCheck = cellColor.getFormat().getFill().getColor();

    // loop through each cell in rangeSum
    for (let row=0; row<rowCount; row++)
        for (let column = 0; column < columnCount; column++)
        {
            if (rangeSum.getCell(row,column).getFormat().getFill().getColor() == colorToCheck)
                value++;
        }
    return value;
}

相关问题