Vba 使用IF条件在Google应用程序脚本电子表格中填充新工作表

Vba 使用IF条件在Google应用程序脚本电子表格中填充新工作表,vba,google-apps-script,google-sheets,Vba,Google Apps Script,Google Sheets,我有一个谷歌电子表格,包含2张表格 如果工作表1中特定单元格的内容等于某个内容,我想在工作表2的特定单元格中写入某个内容 因为我需要做很多次,我想用谷歌应用程序脚本来做。使用VBA,这非常简单,但在这里它返回我“无法更改或修改对象的属性”。你知道我的代码有什么问题吗 谢谢你的帮助 这是我的密码: function synthese() { var results = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('results');

我有一个谷歌电子表格,包含2张表格

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

因为我需要做很多次,我想用谷歌应用程序脚本来做。使用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";
} 
}

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真的不同。非常感谢你的帮助。很乐意帮忙。如果这解决了您的问题,请您将答案标记为已接受。谢谢