如何强制 Google Sheet 在一组特定的单元格上使用 .toUpperCase?

How can I force Google Sheet to use .toUpperCase on a specific set of cells?

我正在寻找一种方法来强制某些单元格中的文本为大写,并在 https://productforums.google.com/forum/#!topic/docs/QaRXTzt6lbw 处遇到 post。

我是脚本编写新手,我发现这非常有帮助。我能够让它工作,但只在 1 列中。

我的困境是我试图让多个列强制使用大写字母。

我希望它从所有指定列的第 4 行开始。我正在寻找第 2、5、10-14 和 18-29 列上 运行 的脚本。更具体地说,我希望在设定范围内完成这项工作 (B4:B53, E4:E53, J4:N53, R4:AC53)

如果有人能就我如何实现这一目标提供任何见解,将不胜感激。

我应该提一下,我已经尝试了几种方法来修改上述脚本中的公式,但都没有成功。我最多只能为第 2 列和第 5 列工作。

谢谢。

看看这是否有效(更改 sheet 名称以适应)...

function onEdit(e) {
var ss = e.source.getActiveSheet(),
    sheet = 'Bets';
cols = [2, 5, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
if (ss.getName() !== sheet || e.range.rowStart < 4 || e.range.rowStart > 53 
|| cols.indexOf(e.range.columnStart) == -1) return;
e.range.setValue(e.value.toUpperCase());
}