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

时间:2017-02-01 22:39:10

标签: arrays google-sheets automation google-spreadsheet-api uppercase

我正在寻找一种方法将某些单元格中的文字强制为大写,然后在https://productforums.google.com/forum/#!topic/docs/QaRXTzt6lbw发现了一个帖子。

我是脚本新手,我发现这非常有帮助。我能够使它工作,但只有一列。

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

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

如果有人能够提供有关如何实现这一目标的任何见解,我们将非常感激。

我应该提一下,我已经尝试了几种方法来修改上面提到的脚本中的公式,但是没有成功使它工作。我能做的最多就是第2栏和第5栏的工作。

感谢。

1 个答案:

答案 0 :(得分:1)

看看是否有效(更改工作表名称以适应)......

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());
}