首页 > 解决方案 > 如何获取单元格位置(即 A28)

问题描述

刚开始尝试自学谷歌脚本。我在电子表格中有一些名字。我正在尝试编写一个脚本,当我填写任何单元格时,如果它在我指定的范围内找到相同的名称,它会在该单元格中划出一条具有相同名称的行。

下面的代码让我得到了名字,但我无法让罢工通过工作。它通过单元格“C3”而不是在范围单元格中引人注目。希望这是有道理的。请帮忙!

function strikeThrough() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var names = ss.getRange("A27:C29").getValues();
  var thename = ss.getRange("C3").getValue();
  var sheet = ss.getSheets()[0];  
  var arrayLength = names.length;

  for (var i = 0; i < arrayLength; i++) { 
    for (var k = 0; k < 3; k++) {   
      Browser.msgBox(names[i][k]);  
      if(names[i][k] == thename){
        ss.getActiveRangeList().setFontLine('line-through');     
      }
     }
  }
}

标签: google-apps-scriptgoogle-sheets

解决方案


尝试这个:

function strikeThrough() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sh=ss.getActiveSheet();
  var nrg=sh.getRange('A27:C29');
  var names = nrg.getValues();
  var thename = sh.getRange("C3").getValue();
  for(var i=0;i<names.length; i++) { 
    for(var k=0;k<names[i].length;k++) {   
      if(names[i][k]==thename){
        sh.getRange(nrg.getRow()+i,nrg.getColumn()+k).setFontLine('line-through');  
      }
    }
  }
}

推荐阅读