首页 > 解决方案 > 创建 If 语句

问题描述

我的客户想使用 Google 表格而不是 Excel。我可以在 VBA 中快速编写代码,但在使用 Google 表格时遇到了障碍。

H5 包含一个下拉列表。我希望 D5、D6、D7 和 D8 中的值等于 H5 中的值,但前提是在 H5 中选择了一个值。

我根据我在这个网站上看到的类似示例构建了我的代码。我尝试调试我的代码,但我没有发现 Google 表格中的调试工具几乎与 VBA 中的一样有效。

function PercentageIncreases1() {

    var spreadsheet = SpreadsheetApp.getActive();

   var cell1 = ("H5");
   var cell2 = ("H6");
   var cell3 = ("H7");
   var cell4 = ("H8");

    if (cell1 > 0) {
  spreadsheet.getRange('D5').activate();
  spreadsheet.getCurrentCell().setFormula('=H5');
  spreadsheet.getRange('D6').activate();
  spreadsheet.getCurrentCell().setFormula('=H5');
  spreadsheet.getRange('D7').activate();
  spreadsheet.getCurrentCell().setFormula('=H5');
  spreadsheet.getRange('D8').activate();
  spreadsheet.getCurrentCell().setFormula('=H5');
    }



};

如果 H5 中的值为 10,那么我预计 D5、D6、D7、D8 中的值也为 10。

目前 D5、D6、D7 和 D8 中的值没有更新。

标签: javascriptif-statementgoogle-apps-scriptgoogle-sheetsgoogle-sheets-macros

解决方案


试试这个,如果这是你正在寻找的,

function PercentageIncreases1() 
{
  var spreadsheet = SpreadsheetApp.getActive();
  var cell1 = spreadsheet.getRange("H5").getValues();
  var cell2= spreadsheet.getRange("H6").getValues();
  var cell3= spreadsheet.getRange("H7").getValues();
  var cell4= spreadsheet.getRange("H8").getValues();
  if (cell1[0][0] > 0) 
  {
    if(cell1[0][0] == 10)
    {
      spreadsheet.getRange("D5").setValue(cell1[0][0]);
      spreadsheet.getRange("D6").setValue(cell1[0][0]);
      spreadsheet.getRange("D7").setValue(cell1[0][0]);
      spreadsheet.getRange("D8").setValue(cell1[0][0]);
    }
    else
    {

    }
  }
};

推荐阅读