function main() { var Kunden = new Array(); Kunden[0] = new Object(); Kunden[0]["Name"] = "Testkunde 1"; Kunden[0]["SpreadsheetURL"] = "###URL-Quelle-1###"; Kunden[1] = new Object(); Kunden[1]["Name"] = "Testkunde 2"; Kunden[1]["SpreadsheetURL"] = "###URL-Quelle-2###"; var SpreadsheetUrlDest = "###URL-Ziel###"; var d = new Date(); var m = d.getMonth()+1; var tagesdatum = d.getDate(); tagesdatum += "."+m; tagesdatum += "."+d.getYear(); var emailAddress = 'thomas.gruebel@inbiz.de'; var eMailSubject = 'Report Daten zusammengetragen '; var eMailMessage = ''; var SpreadsheetDest = SpreadsheetApp.openByUrl(SpreadsheetUrlDest); var sheetDest = SpreadsheetDest.getActiveSheet(); var RowDest = 1; for (var i = 0; i < Kunden.length; i++) { // lese die Einzelsheets ein var SpreadsheetSrc = SpreadsheetApp.openByUrl(Kunden[i]["SpreadsheetURL"]); var sheetSrc = SpreadsheetSrc.getActiveSheet(); // Kundenname sheetDest.getRange("A"+RowDest).setValue(Kunden[i]["Name"]); // lese die einzelnen Spalten ein var values = sheetSrc.getRange(2, 1, 1, 2).getValues(); var RangeDefinition = "B"+RowDest+":C"+RowDest; var Range = sheetDest.getRange(RangeDefinition); // schreibe sie in das Ziel-Sheet zurück Range.setValues(values); // CTR berechnen und formatieren sheetDest.getRange("D"+RowDest).setFormula("=C"+RowDest+"/B"+RowDest); sheetDest.getRange("D"+RowDest).setNumberFormat("0.00%"); // geht auch: in Abhängigkeit des Zelleninhaltes formatieren // setBackground(color) RowDest = RowDest+1; } // Mail versenden if(emailAddress) { MailApp.sendEmail(emailAddress, eMailSubject+" per "+tagesdatum, eMailMessage); } }