Google Sheets脚本求助:录入用户名至关联表用于下拉菜单
Google Sheets 脚本实现姓名输入与存储指南
一、脚本导入步骤
- 打开你的Google Sheets文件
- 点击顶部菜单栏「扩展程序」→「Apps 脚本」,打开脚本编辑器
- 删除编辑器默认的
myFunction()代码,粘贴目标代码(或下方修改后的代码) - 点击编辑器顶部「保存」,给脚本命名(比如「AddUserName」),首次运行按提示完成授权
二、修改代码实现姓名存储
你找到的原代码是固定存储年龄到单元格,下面修改后的代码可实现姓名输入、追加到关联工作表(适配下拉菜单的动态列表需求):
function promptUserName() { // 弹出姓名输入框 var ui = SpreadsheetApp.getUi(); var response = ui.prompt("请输入姓名", ui.ButtonSet.OK_CANCEL); // 判断用户操作并处理输入 if (response.getSelectedButton() == ui.Button.OK && response.getResponseText().trim() != "") { var userName = response.getResponseText().trim(); // *替换成你的关联工作表名称,比如「姓名列表」* var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("姓名列表"); // 将姓名追加到工作表最后一行的下一行A列 var lastRow = targetSheet.getLastRow(); targetSheet.getRange(lastRow + 1, 1).setValue(userName); ui.alert("姓名已成功添加!"); } else if (response.getSelectedButton() == ui.Button.CANCEL) { ui.alert("操作已取消"); } else { ui.alert("请输入有效的姓名"); } }
三、设置快捷使用方式
- 测试运行:回到脚本编辑器,点击顶部「运行」按钮,验证脚本功能
- 添加自定义菜单(可选):在脚本编辑器追加以下代码,保存后刷新表格,顶部会出现自定义菜单,方便快速调用
function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('自定义工具') .addItem('添加姓名', 'promptUserName') .addToUi(); }
四、关联下拉菜单设置
- 打开需设置下拉的工作表,选中目标单元格/区域
- 点击顶部「数据」→「数据验证」
- 条件选择「列表从范围」,输入关联工作表的范围(比如
姓名列表!A:A,新增姓名会自动同步到下拉菜单) - 勾选「显示下拉箭头」,点击「保存」
内容的提问来源于stack exchange,提问作者Daz Zink
相关产品推荐
相关产品推荐

