用于在列中查找文本的 Office Script For-each 循环
Office Script For-each loop to find text in column
我尝试制作一个 Office 脚本,循环遍历每一行并在 A 列中找到文本为“总计”的行,然后删除该行。
我还没弄好,有谁知道怎么改吗?
function main(workbook: ExcelScript.Workbook) {
//getting the used range in the worksheet
let usedRange = workbook.getActiveWorksheet().getUsedRange();
//getting the row count of the used range
let lastRow = usedRange.getRowCount();
usedRange = workbook.getActiveWorksheet().getRangeByIndexes(0, 0, (usedRange.getRowIndex() + lastRow), 19)
//getting the values of the range
let values = usedRange.getValues();
//getting the row count of the range
let rowCount = usedRange.getRowCount();
//for every row starting at the last row, checking if the cell in column 'A' contains text "Total". If it is, then delete the entire row.
for (let i = rowCount - 1; i >= 0; i--) {
if (values[i][18] == "Total") {
usedRange.getCell(i, 1).getEntireRow().delete(ExcelScript.DeleteShiftDirection.up)
}
}
}
我认为你的问题出在这一行:
if (values[i][18] == "Total") {
第一个数组 [i]
采用对应于 Excel 工作表中的行的参数。第二个数组 [18]
采用与 Excel 工作表中的列对应的参数。由于数组是从零开始的,因此第一列 A 列对应于索引零。所以你只需要将值从 18 更新为 0。它应该对 A 列执行此检查。因此更新后的代码将如下所示:
if (values[i][0] == "Total") {
我尝试制作一个 Office 脚本,循环遍历每一行并在 A 列中找到文本为“总计”的行,然后删除该行。 我还没弄好,有谁知道怎么改吗?
function main(workbook: ExcelScript.Workbook) {
//getting the used range in the worksheet
let usedRange = workbook.getActiveWorksheet().getUsedRange();
//getting the row count of the used range
let lastRow = usedRange.getRowCount();
usedRange = workbook.getActiveWorksheet().getRangeByIndexes(0, 0, (usedRange.getRowIndex() + lastRow), 19)
//getting the values of the range
let values = usedRange.getValues();
//getting the row count of the range
let rowCount = usedRange.getRowCount();
//for every row starting at the last row, checking if the cell in column 'A' contains text "Total". If it is, then delete the entire row.
for (let i = rowCount - 1; i >= 0; i--) {
if (values[i][18] == "Total") {
usedRange.getCell(i, 1).getEntireRow().delete(ExcelScript.DeleteShiftDirection.up)
}
}
}
我认为你的问题出在这一行:
if (values[i][18] == "Total") {
第一个数组 [i]
采用对应于 Excel 工作表中的行的参数。第二个数组 [18]
采用与 Excel 工作表中的列对应的参数。由于数组是从零开始的,因此第一列 A 列对应于索引零。所以你只需要将值从 18 更新为 0。它应该对 A 列执行此检查。因此更新后的代码将如下所示:
if (values[i][0] == "Total") {