【问题标题】: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()
之前
之后