(javascript)如何从单个单元格指向列中的所有单元格

(javascript)如何从单个单元格指向列中的所有单元格,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个简单的代码,当有人从下拉菜单(数据验证)中选择名称时,它会询问密码。我的问题是,它只指向单个单元格,我应该添加什么或做什么才能使它指向列中的所有单元格?请看下面 //定义每个用户密码 const userPasswords={ “Guilherme Cudessuata”:“123”, “曼努埃尔·何塞”:“456”, “Emaculada”:“789”, “Jonata Kedia”:“111” } 功能OneEdit(e){ const namesCell=“E4”//带有下拉列表

我有一个简单的代码,当有人从下拉菜单(数据验证)中选择名称时,它会询问密码。我的问题是,它只指向单个单元格,我应该添加什么或做什么才能使它指向列中的所有单元格?请看下面

//定义每个用户密码
const userPasswords={
“Guilherme Cudessuata”:“123”,
“曼努埃尔·何塞”:“456”,
“Emaculada”:“789”,
“Jonata Kedia”:“111”
}
功能OneEdit(e){
const namesCell=“E4”//带有下拉列表的单元格
if(e.range.getA1Notation()!=namesCell){
返回
}
//显示密码提示:
var ui=SpreadsheetApp.getUi()
const response=ui.prompt(“密码保护范围”,
“请输入您的密码:”,
ui.ButtonSet.OK\u取消)
const button=response.getSelectedButton()
const text=response.getResponseText()
//如果用户按下“取消”或“关闭”,则不运行
if(button!=ui.button.OK){
返回
}
//检查密码
if(text!=userPasswords[e.value]){
ui.alert('密码不正确','请重试',ui.ButtonSet.OK);
e、 range.setValue(e.oldValue)//重置为旧值
}

}
尝试以下方法:

function onEdit(e) {

  const sheetName = "Sheet1" //change to suit
  const namesColumn = 5 // the column with the dropdown
  const startRow = 4 //change to suit
  const endRow = 100 //change to suit

  if (e.range.getSheet().getName() != sheetName || e.range.columnStart != namesColumn || e.range.rowStart < startRow || 
  e.range.rowEnd > endRow) {
    return;
  }

  //rest of your code
}
函数onEdit(e){
const sheetName=“Sheet1”/
const namesColumn=5//包含下拉列表的列
const startRow=4//更改以适应
const endRow=100//更改以适应
如果(e.range.getSheet().getName()!=sheetName | e.range.columnStart!=namesColumn | e.range.rowStartendRow){
返回;
}
//代码的其余部分
}
。。。看看这是否有帮助

参考:

试试这样的方法:

function onEdit(e) {

  const sheetName = "Sheet1" //change to suit
  const namesColumn = 5 // the column with the dropdown
  const startRow = 4 //change to suit
  const endRow = 100 //change to suit

  if (e.range.getSheet().getName() != sheetName || e.range.columnStart != namesColumn || e.range.rowStart < startRow || 
  e.range.rowEnd > endRow) {
    return;
  }

  //rest of your code
}
函数onEdit(e){
const sheetName=“Sheet1”/
const namesColumn=5//包含下拉列表的列
const startRow=4//更改以适应
const endRow=100//更改以适应
如果(e.range.getSheet().getName()!=sheetName | e.range.columnStart!=namesColumn | e.range.rowStartendRow){
返回;
}
//代码的其余部分
}
。。。看看这是否有帮助

参考:

试试这个
。。。常数=5;如果(e.range.columnStart!=namesCol){…
试试这个
…const namesCol=5;如果(e.range.columnStart!=namesCol){…