每次我在if语句中使用文本时,都会说“ Missing; before statement”。我的代码是
function onEdit() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
var class = sheet.getRange('Traits!L3').getValue();
if (class == 'Warlock' ) {
sheet.getRange('A7:D7')breakApart();
sheet.getRange('A7:D7')mergeAcross();
} else {
if (class == 'Fighter') {
sheet.getRange('A7:D7')breakApart();
sheet.getRange('A7:B7')mergeAcross();
} else {
}
它的作用是根据您的职业(术士和战斗机)打断并合并牢房。 Traits!L3是一种数据验证,可让您选择一个类,因此,如果您选择术士,则它将合并4个单元格(如果未合并)(未完成的代码)。如何以及为什么会出现这种情况,并且有办法解决?
答案 0 :(得分:3)
您在.
和breakApart()
之前忘记了mergeAcross()
function onEdit() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
var char_class = sheet.getRange('Traits!L3').getValue();
if (char_class == 'Warlock' ) {
sheet.getRange('A7:D7').breakApart();
sheet.getRange('A7:D7').mergeAcross();
} else {
if (char_class == 'Fighter') {
sheet.getRange('A7:D7').breakApart();
sheet.getRange('A7:B7').mergeAcross();
} else {
}
您应该在Google表格中使用“数据”->“命名范围”,并开始命名单元格引用,然后您可以使用该名称在代码甚至公式中对其进行调用。