我已经在Google Script上完成了这段代码,但是它花费的时间太长了(它在30分钟内完成10到15行。我不知道如何进一步对其进行优化。电子表格的大小是否会影响它的处理,如果没有,如何更改以改进?
function PreenchePlanilhaFinal() {
var App = Spreadsheetapp;
App.getactiveSpreadsheet().getSheetByName('MacroHelp').getRange(1,1).activate();
var helpMacro = App.getactiveSpreadsheet().getactiveSheet(); //aba que vc está ativo
var lastLine = helpMacro.getLastRow();
for (var i = 214; i < lastLine; i++){
if (helpMacro.getRange(i,17).getvalue() == "")
{
var regionCode = helpMacro.getRange(i,5).getvalue();
var nomeAba = ""; //inicializo a variável da região
for (var j = 1; j < lastLine; j++){
if (regionCode == helpMacro.getRange(j,20).getvalue()){
nomeAba = helpMacro.getRange(j,21).getvalue();
break;
}
}
var email = helpMacro.getRange(i,1).getvalue();
var aba = App.getactiveSpreadsheet().getSheetByName(nomeAba);
aba.getRange(1,1).activate(); //ativo a aba
var lastLineNovaAba = aba.getLastRow();
for (var k = 1; k <= lastLineNovaAba; k++){
if (email == aba.getRange(k,8).getvalue()){
App.getactiveSpreadsheet().getactiveSheet().getRange(k,31,1,11).setvalues(helpMacro.getRange(i,6,11).getvalues());
}
}
helpMacro.getRange(i,17).activate().setvalue("Feito");
}
}
}