D I have a problem with my Script. a part of my script:
var a = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("A");
var b = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("B");
a.getRange("A14").setValue("external File");
Utilities.sleep(2000);
a.getRange("A14:C29").copyTo(b.getRange("A1:C15"), {contentsOnly:true});
a.getRange("A14:C29").clearContent();
To elaborate on @Jack Brown's comment, when both writing to and reading from the Spreadsheet interface, Google Apps Script does not necessarily immediately perform the write - it will attempt to optimize calls over the Spreadsheet interface to minimize resources needed. Using
SpreadsheetApp.flush()
instructs the Apps Script engine to perform any pending changes to the spreadsheet (writes, calculations of cell formulas due to newly-written data, etc).OP's snippet would then be: