【发布时间】:2021-03-22 22:16:09
【问题描述】:
好的,第一次使用谷歌表格。我已经制作了一个数据验证列表。我知道我可以不在 Excel 列表中,但我如何在谷歌表格中做到这一点。因此用户可以输入数据并将其保存回列表。 我设置了数据验证,因此它接受其他文本,但我不知道如何将其添加到列表中。
【问题讨论】:
-
您能否提供一份您正在处理的电子表格的副本(不含敏感信息),清楚地表明预期的结果?
标签: google-sheets
好的,第一次使用谷歌表格。我已经制作了一个数据验证列表。我知道我可以不在 Excel 列表中,但我如何在谷歌表格中做到这一点。因此用户可以输入数据并将其保存回列表。 我设置了数据验证,因此它接受其他文本,但我不知道如何将其添加到列表中。
【问题讨论】:
标签: google-sheets
虽然 Google 脚本可以实现您正在寻找的内容,用户可以简单地选择在警报框中输入文本字符串并将其添加到数据验证列表中,但更直接的方法是使用您在数据验证中的数据源作为主工作表的一部分的“范围”,或者将其位于不同的工作表上。这样,您的范围内列出的任何项目都将成为数据验证的一部分,用户只需将更多项目添加到您的数据验证范围上定义的空单元格中。
快速编辑 您还可以尝试下面的简单脚本,提示用户输入他们想要添加到下拉列表的内容。 You may refer to this documentation for the specifics.
function Additem() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Database"); //Defined the sheet where to make edits
var lastrow = ss.getLastRow(); //Defines the last item on row with content
var targetcell = ss.getRange(lastrow+1,1); //Select whatever the next available blank row on column A to add entry to data validation
//UI Prompt for Adding Values
var sui = SpreadsheetApp.getUi();
var theprompt = sui.prompt("Add item to selection", sui.ButtonSet.OK_CANCEL);
var usersinput = theprompt.getResponseText();
Logger.log(usersinput)
//Conditional action for the UI
if (theprompt.getSelectedButton() == sui.Button.OK) {
targetcell.setValue(usersinput);
} else SpreadsheetApp.getActiveSpreadsheet().toast("Adding to drop down list cancelled","Notification");
}
这假设您存储数据的工作表名为Database(您可以随时更改代码中的该部分。这样做的目的是将提示中输入的任何内容添加到 A1 列的下一个空单元格中。
请参阅下面的示例:
在提示输入任意值后:
【讨论】: