Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 从上一行复制格式_Google Sheets_Gs Conditional Formatting - Fatal编程技术网

Google sheets 从上一行复制格式

Google sheets 从上一行复制格式,google-sheets,gs-conditional-formatting,Google Sheets,Gs Conditional Formatting,在Google Sheets中,我希望通过以下方式使用条件格式: 添加或键入空行 行不为空后,自动将格式从上面的行复制到新行 基本上,任何填充的行都是:居中、带边框等 我已经看过条件格式,但我看到的只是更改颜色和字体的选项。我需要更多,所以可能需要一些规则。有什么方法可以做到这一点吗?条件格式不会执行“复制另一行的格式”之类的操作,但可以通过脚本来完成。请参见,要点是脚本在工具>脚本编辑器下活动 以下脚本在每次编辑时都会运行(因此,可能会使工作表的速度有所降低)。它跟踪最后一个格式化行,如果填充

在Google Sheets中,我希望通过以下方式使用条件格式:

  • 添加或键入空行
  • 行不为空后,自动将格式从上面的行复制到新行 基本上,任何填充的行都是:居中、带边框等


    我已经看过条件格式,但我看到的只是更改颜色和字体的选项。我需要更多,所以可能需要一些规则。有什么方法可以做到这一点吗?

    条件格式不会执行“复制另一行的格式”之类的操作,但可以通过脚本来完成。请参见,要点是脚本在工具>脚本编辑器下活动

    以下脚本在每次编辑时都会运行(因此,可能会使工作表的速度有所降低)。它跟踪最后一个格式化行,如果填充的行数超过该行数,则也会通过复制最后一个格式化行的格式来格式化这些行

    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);
      }    
    }
    
    函数onEdit(){
    var sp=PropertiesService.getScriptProperties();
    var lastformatedrow=parseInt(sp.getProperty(“lastformatedrow”)| | 1,10);
    var sheet=SpreadsheetApp.getActiveSheet();
    var lastRow=sheet.getLastRow();
    如果(lastRow>lastFormattedRow){
    var lastColumn=sheet.getLastColumn();
    var range=sheet.getRange(lastFormattedRow,1,1,lastColumn);
    
    对于(var r=lastFormattedRow+1;r这在协作工作表上有效吗?它应该有效。如果包含在绑定到电子表格的脚本中,则电子表格的每次编辑都会触发
    onEdit
    ,而不管编辑的是谁。它运行时不使用任何人的凭据,并且只能在特定电子表格中执行操作,而不能在其他电子表格中执行操作。)在一个用户的帐户中。