【问题标题】:Using IF condition to populate a new sheet in Google App Script Spreadsheet使用 IF 条件在 Google App Script Spreadsheet 中填充新工作表
【发布时间】:2017-02-12 10:47:19
【问题描述】:

我有一个包含 2 张工作表的 Google 电子表格。

如果工作表 1 中特定单元格的内容等于某事,我想在工作表 2 的特定单元格中写一些内容。

因为我需要做很多次,所以我想使用 Google App Script 来做。使用 VBA,这非常简单,但在这里它返回我“无法更改或修改对象的属性”。你知道我的代码有什么问题吗?

感谢您的帮助!

这是我的代码:

function synthese() {

var results = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('results');

var synthese = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('synt');

  B3 = results.getRange("B3");

  if (B3="Yes") {
    results.getRange("A1").setValue = "Yes";
  } else {
    results.getRange("A1").setValue = "No";
} 
}

【问题讨论】:

    标签: vba google-apps-script google-sheets


    【解决方案1】:

    B3 仍然是一个范围,具有大小、背景颜色等属性。 它不是一个值,你可以通过getValue()提取它。

    你的第二个问题是你在 if 中做作业。

    最后,setValue 是一个方法而不是一个属性,因此需要将值作为参数提供。

    function synthese() {
      var results = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('results');
      var synthese = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('synt');
      var B3 = results.getRange("B3"); // good practice to make variables local
    
      if (B3.getValue() === "Yes") {
        results.getRange("A1").setValue("Yes");
      } else {
        results.getRange("A1").setValue("No");
      } 
    }
    

    【讨论】:

    • 哇,这么多错误...我还需要学习很多东西,JS和VBA真的不一样。非常感谢您的帮助。
    • 乐于助人。如果这解决了您的问题,请您将答案标记为已接受。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多