电子表格:合并问题()

时间:2013-06-17 01:19:30

标签: google-apps-script google-sheets

所以,我遇到了merge()函数的一些问题:
我编写了一个创建电子表格/表单并安排它们的函数,并且完全没问题 但是当我想合并一些单元格表时,我得到一个错误,说“不能合并选定的单元格”[不是实际的英文错误消息,而是相当于]。

参见代码:

function style(id,magasin,Nom,dateTest){
var ssMois = SpreadsheetApp.openById(id);
var sheet = ssMois.getSheetByName(Nom);

var date=dateTest.toLocaleDateString();

sheet.getRange("A1:D1").merge();
sheet.getRange("B1").setValue("Feuille de caisse du:");

sheet.getRange("C1:E1").mergeAcross();
sheet.getRange("B1").setValue(date);

sheet.getRange("B2:F2").merge();
sheet.getRange("B2").setValue(magasin);

//BLOC RECETTE DU JOUR ******

sheet.getRange("B4:F4").merge();
sheet.getRange("B4").setValue("RECETTE DU JOUR");

sheet.getRange("C5").setValue("Caisse 1");
sheet.getRange("D5").setValue("Caisse 2");
sheet.getRange("E5").setValue("Total");
    sheet.getRange("E7:E10").setFormulas("=R[0]C[-2]+R[0]C[-1]")

sheet.getRange("B6").setValue("CAISSIER");
sheet.getRange("B7").setValue("ESPECE DU JOUR");
sheet.getRange("B8").setValue("CARTE BLEU");
sheet.getRange("B9").setValue("CHEQUE");
sheet.getRange("B10").setValue("TOTAL (€)");


//BLOC FOND DE CAISSE ******
sheet.getRange("B12:F12").merge();
sheet.getRange("B12").setValue("DETERMINATION DU FOND DE CAISSE");

sheet.getRange("B13").setValue("Fond de caisse J-1");
sheet.getRange("B14").setValue("SOUS-TOTAL");
sheet.getRange("B15").setValue("PRELEVEMENT");
sheet.getRange("B16").setValue("SORTIE DE CAISSE");
sheet.getRange("B17").setValue("Fond de caisse théorique:");
sheet.getRange("B18").setValue("Fond de caisse compté:");
sheet.getRange("B19").setValue("Erreur");

//BLOC SORTIE DE CAISSE ******

}

奇怪的事实来到这里:

如果我将第一个合并sheet.getRange("A1:D1").merge();放在评论中,那么代码就可以了 如果我更改“A1:D1”的范围,某个时间,代码将起作用。
如果我把完整的代码放在评论中,除了前三行之外,它将起作用 当然,我可以手动将其合并到合并按钮。

不明白这个错误,你可以帮我看一下修正或解决方法吗?

1 个答案:

答案 0 :(得分:0)

我的代码失败了: 我首先合并A1:D1,然后是C1:E1列。

因此,脚本无法合并C1:E1,因为C1单元已经与A1合并。

我唯一可以抱怨的是错误消息可以更具体:没有显示单元格或行;只是一个通用的消息“单元格无法合并”