从以前的行复制格式



在Google表中,我想使用有条件格式的方式:

  1. 添加或输入空白行
  2. 一旦行不是空白,将自动将格式复制到上面的一行。

基本上所有填充的行都是:居中,边界等。

我研究了有条件的格式,但我看到的只是更改颜色和字体的选项。我需要更多,所以也许可能需要某种规则。有办法做到吗?

条件格式不执行"复制另一行格式"之类的事情,但可以使用脚本来完成。请参阅"床单"中的脚本简介,重点是脚本生活在工具>脚本编辑器下。

以下脚本在每个编辑上都运行(因此,可能会放慢片段)。它跟踪最后一个格式化的行,如果填充的行还要多,则通过复制最后一个格式的行中的格式。

function onEdit() {
  var sp = PropertiesService.getScriptProperties();
  var lastFormattedRow = parseInt(sp.getProperty("lastFormattedRow") || 1, 10);
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  if (lastRow > lastFormattedRow) {
    var lastColumn = sheet.getLastColumn();
    var range = sheet.getRange(lastFormattedRow, 1, 1, lastColumn);
    for (var r = lastFormattedRow + 1; r <= lastRow; r++) {
      range.copyTo(sheet.getRange(r, 1, 1, lastColumn), {formatOnly: true});
    }
    sp.setProperty("lastFormattedRow", lastRow);
  }    
}

最新更新