【发布时间】:2020-10-20 10:24:59
【问题描述】:
目前有一个用于将单元格格式和值同步到另一个电子表格的工作脚本。我知道这是非常粗糙和准备好的,但它有效!我不喜欢 For 循环中有数字来获得正确的单元格编号……但这需要从单行 9 列到目标电子表格,即 9 行 x 1 列。
与同事交谈后,反馈是这会运行得很慢。我已将其重写为 9 If 语句,但问题是拖动单元格时只会更新第一个单元格,而不是范围。
有 copyTo 功能,不幸的是,这只适用于单个电子表格。
整体速度无所谓,有替代方案吗?
// for loop to populate all cells
for (let i = 21; i < 30; i++){ // starts at volumn V (22) for 9 columns (21 to 30)
var activeCell = registerSheet.getRange(activeRow, i + 1, 1, 1); // Register column, i + 1 so it increases
var registerValue = activeCell.getValue(); // get cell value
var registerFormat = activeCell.getBackground(); // get cell format
var i2 = 'C' + (33 + i) // this increases the target cell range from C54 to C62 using the loop. 54 (start row on form) - 21 (start i value) = 33
var range = form.getRange(i2); // designate target cell
range.setValue(registerValue); // set target cell value
range.setBackground(registerFormat); // set target cell format
}
}
【问题讨论】:
-
我的回答对你有用吗?
-
嗨马里奥斯。是的,它工作得很好。我想谢谢你,但下面的说明说不要回复“谢谢”!。
-
很高兴它解决了您的问题。您能否通过单击答案左侧的勾选按钮来接受答案?谢谢
标签: javascript google-apps-script google-sheets