【发布时间】:2021-06-08 18:37:36
【问题描述】:
我已经看到了有关如何根据来自其他电子表格的范围值的值创建下拉列表的示例,下拉列表取决于单元格值。在我看到的所有示例中,值都来自其他电子表格的范围值。
我想要实现的是:
- 在带有列标题的电子表格中,我没有行。
- 当我编辑第一个单元格时,它会显示一个带有值的下拉列表。只有当我编辑单元格时。如果可能的话,我不想为固定数量的行预先填充 st 列的单元格,因为我认为这可能会消耗时间,而且我不知道一个文件中会有多少个单元格月。
- 下拉列表中的值是从另一个 Google Workspace 服务中检索的。
我此刻的经历:
- 我能够检索想要在下拉列表中显示的值
- 如果我是对的,要构建一个下拉列表,可以使用 SpreadsheetApp.newDataValidation() 方法来构建下拉列表
- 我能够设置一系列单元格的值(例如:A1:A10)并在每个单元格上显示一个下拉列表图标,但编辑单元格时显示的值类似于 val1;val2;val3...
我的问题:
- 当我编辑单元格时,如何在第一列的单元格上动态创建一个动态下拉列表?如果必须预先填充第一列的单元格,那么至少为什么不这样做
我不知道iwa是否足够清楚。这是脚本的想法:
var v_spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var v_sheet = v_spreadsheet.getActiveSheet();
// I imagine i could specify A1:A1 to specify only the cell that is being edited ?
var range = v_sheet.getRange("A2:A5");
// my array below is 2 dimensions : v_array[0][0] = 'val1', v_array[0][1] = 'val2', etc
range.setValues(v_array_taskLists);
var dd_values = range.getValues();
var validationRule = SpreadsheetApp.newDataValidation().requireValueInList(dd_values).build();
range.setDataValidation(validationRule);
如您所见,我正在传递范围数据,这可能不是正确的方式
非常感谢任何帮助 非常感谢提前
【问题讨论】:
标签: google-apps-script google-sheets dropdown