For循环没有按计划工作
问题描述:
所以我一直在试图让某些东西在这里和那里工作几天,每天只能放置一个小时左右的工作。For循环没有按计划工作
我当前的代码是:
function NewNameChange() {
var Dashboard = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dashboard')
var NameChanges = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Name Changes')
//var Number1 = 0
var Number2 = 6
var CellCheck = NameChanges.getRange('B' + Number2)
var Cell1 = NameChanges.getRange('B' + Number2)
var Cell2 = NameChanges.getRange('D' + Number2)
var Cell3 = NameChanges.getRange('F' + Number2)
var Cell4 = NameChanges.getRange('H' + Number2)
for (var Number1 = 0; Number1 == 0; Number2++) {
if (CellCheck.isBlank()) {
Dashboard.getRange('B14').copyTo(Cell1)
Dashboard.getRange('D14').copyTo(Cell2)
Dashboard.getRange('F14').copyTo(Cell3)
Dashboard.getRange('H14').copyTo(Cell4)
Dashboard.getRange('B14').clear()
Dashboard.getRange('D14').clear()
Dashboard.getRange('F14').clear()
Dashboard.getRange('H14').clear()
Number1 = 1;
}
}
}
这段代码的目的是看一个名为名称的更改在纸张上的单元格B6,如果此单元格为空,则它会转到表命名仪表盘和副本四个实体B14,D14,F14,H14,并将其复制到单元格B6,D6,F6,H6到Name Changes表单上。最后清除单元格B14,D14,F14和H14。这是非常奇妙的,问题在于,当单元格不是空的时候,因为脚本已经在之前运行,并且现在有B6,D6,F6和H6中的数据,脚本将运行至超时。理论上它应该到达for循环的末尾,并且有一个到Number2,然后导致CellCheck查看B7,尽管没有发生任何事情。
在这个论坛上的第一次,我认为我会考虑寻求一些帮助,考虑其他答案有多大帮助。如果我错误地使用了它,我很抱歉,如果您需要进一步解释,请告诉我!
答
CellCheck
到Cell4
在循环内部没有修改;而Number2
用于初始化它们,更改Number2
不会自动更改这些其他值:它们必须明确重新分配给它们。
+0
非常感谢,现在它确实有很多意义! –
这是特别的语言吗? –
看起来你只需要调试你的代码,看看为什么值永远不会被设置。 –
不确定,我的意思是我简单地使用我们提供的脚本编辑器。 –