【问题标题】:Insert specific number of rows in a google sheet在谷歌表格中插入特定数量的行
【发布时间】:2019-11-29 07:47:55
【问题描述】:

我正在尝试根据保存为范围的数字将特定数量的单元格插入到 Google 工作表中。例如,范围内的数字是 52,所以在工作表“主”上,我想在 A3 行之后插入 52 行。此范围可在“员工”表上找到,并根据每天在场的员工数量而变化,因此,使其具有动态性。

我正在寻找一些 gscript 来执行此操作。我已经能够使用 Excel VBA 中的宏来执行此操作,但想将其从 Excel 移动到 Google 表格。 VBA 代码如下所示:

Sheets("Master").Select
  Range("A3").EntireRow.Resize(Range("staff_count").Value).Insert CopyOrigin:=xlFormatFromRightOrBelow

如果有人能提供帮助将不胜感激。

谢谢

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

您想在“Master”的第 3 行之后插入给定数量的行。行数是另一个工作表“员工”上的范围值。该值每天都会发生变化。

在以下示例中,Staff 的范围是单元格“B1”,其值为 52。

有几种方法可以做到这一点。在这个例子中,我使用了insertRowsAfter(afterPosition, howMany)doc。但是,您也可以使用 insertRows(rowIndex, numRows) doc


function so5910073802() {

  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var mastersheetname = "Master";
  var master = ss.getSheetByName(mastersheetname);

  var staffsheetname = "Staff";
  var staff = ss.getSheetByName(staffsheetname);

  // Staff range and value
  var staffAttendRange = staff.getRange("B1");
  var staffAttendValue = staffAttendRange.getValue(); // value = 52
  // Logger.log("DEBUG: Staff attendance = "+staffAttendValue);

  // Master variables
  var headerRows = 3;

  // insert the rows on Master based on value from Staff
  master.insertRowsAfter(headerRows, staffAttendValue);

}

之前与之后

第 4 行和第 56 行的值为=row()

之前

之后

【讨论】:

  • 不是需要从'Staff'表中选择行数吗?
  • 哎呀,你说得对!!谢谢。答案已编辑。
  • 非常感谢您,它非常棒,而且看起来很简单。欣赏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多