【问题标题】:Google Sheets Script - Select next row + merge range?谷歌表格脚本 - 选择下一行+合并范围?
【发布时间】:2023-03-04 11:51:01
【问题描述】:

我正在尝试创建一个菜单列表,该列表将添加 X 行,并合并添加的新行的 H>M 列(逐行 - 不是整个块)。我不知道如何选择活动行 +1 或活动行 +2 等,然后沿着适当数量的单元格移动。

下面是迄今为止我为 UI 编写的脚本并添加了行,我正纠结于试图合并我插入的新行的 H>M !

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Planning Functions')
      .addItem('Add 1 Row', 'add1row')
  .addItem('Add 2 Rows', 'add2row')
      .addToUi();
}

function add1row() {
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var ar = ss.getActiveRange().getRow();
  ss.insertRowsAfter(ar, 1); 
}
function add2row() {
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var ar = ss.getActiveRange().getRow();
  ss.insertRowsAfter(ar, 2);
}

感谢您的帮助!

【问题讨论】:

    标签: excel google-apps-script google-sheets


    【解决方案1】:

    试试这个:

    function onOpen() {
      var ui = SpreadsheetApp.getUi();
      // Or DocumentApp or FormApp.
      ui.createMenu('Planning Functions')
          .addItem('Add 1 Row', 'add1row')
      .addItem('Add 2 Rows', 'add2row')
          .addToUi();
    }
    
    function add1row() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet();
      var ar = ss.getActiveRange().getRow();
      var mergeRange = sheet.getRange(ar+1,8,1,6);
      ss.insertRowsAfter(ar, 1); 
      mergeRange.mergeAcross();
    }
    function add2row() {
      var ss = SpreadsheetApp.getActiveSpreadsheet ();
      var sheet = ss.getActiveSheet();
      var ar = ss.getActiveRange().getRow();
      var mergeRange = sheet.getRange(ar+1,8,2,6);
      ss.insertRowsAfter(ar, 2);
      mergeRange.mergeAcross();
    }

    【讨论】:

    • 这很好,我错误地尝试指定每个范围并合并它们,但我看到你的 mergeacross 解决方案要好得多。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2018-10-26
    • 2019-04-27
    • 2014-12-19
    相关资源
    最近更新 更多