【问题标题】:How to set default drop down list value from another drop down list in sheets?如何从工作表中的另一个下拉列表中设置默认下拉列表值?
【发布时间】:2015-03-30 18:16:29
【问题描述】:

这就是我想要做的。我有一个列表填充由数据验证创建的下拉列表。然后我查询数据以根据第一个下拉值填充第二个列表。除了我想将第二个下拉列表中的第一个值设置为默认值之外,一切正常。换句话说,如果我更改第一个下拉菜单中的值,我的第二个下拉菜单现在会显示错误,直到我选择下拉菜单并将值更改为正确的值。当第一个下拉列表更改时,我想将其设置为第一个正确的值。我这样做的原因是我不希望有人忘记更改第二个下拉菜单并获得一个甚至不在范围内的值。

请帮助我是这种事情的新手。

谢谢

https://docs.google.com/spreadsheets/d/1U2_0Ku1bCLfDh_v2XyE9aQMSfdYmlVfX_8SKmQay48g/edit?usp=sharing

这是我目前所拥有的。它可以工作,除非在编辑工作表时重置值。我只希望它在 Cell A2 更改时重置。

function onEdit() {
    var ss = SpreadsheetApp.getActive()
    var sheet = SpreadsheetApp.getActiveSheet();
    // IF(cellContent has changed) then clear B2
    // else do nothing.
    sheet.getRange('B2').clearContent();
    var value = sheet.getRange('H2').getValue();
    sheet.getRange('B2').setValue(value);
}

【问题讨论】:

  • 您是否尝试在应用程序脚本中实现此目的。如果是,请发布您尝试过的一些代码。
  • 我正在尝试以任何可能的方式完成此操作,但我不确定如何完成。任何指针都会有所帮助。

标签: drop-down-menu google-apps-script


【解决方案1】:

我想通了,这似乎工作得很好。

  function onEdit() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var cell = sheet.getActiveCell();
  var cellR = cell.getRow();
  var cellC = cell.getColumn();
  var cellValue = cell.getValue();
  var active_spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var value = active_spreadsheet.getRange('H2').getValue();
  if (cellR == 2 && cellC == 1) {
    sheet.getRange('B2').clearContent();
    sheet.getRange('B2').setValue(value);
  }
}

【讨论】:

  • 感谢大家遇到这个问题和解决方案。
猜你喜欢
  • 1970-01-01
  • 2013-10-23
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
相关资源
最近更新 更多