我试图锁定在谷歌工作表后的第一个条目,并使用下面的代码,并得到正确的结果。但是,在此代码中,单元格在第一项输入后被锁定,但是所有者和编辑器可以对锁定的单元格进行进一步的编辑,但是,我希望为输入数据的人锁定单元格--即只有所有者可以在单元格锁定enter code here后对该单元格进行编辑。
function onEdit(e){
let protection = e.range.protect();
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
pro
在编辑下一个相邻单元格时,我试图将B列中的单元格值复制到下一个相邻单元格。这样做的想法是,当B列单元格再次编辑时,相邻单元格中的值也会复制到下一个相邻单元格,从而创建该单元格所具有的值的注册表。这就是我所做的,但似乎行不通:
function copyProd(e) {
var range = e.range;
var spreadSheet = e.source;
var sheetName = spreadSheet.getActiveSpreadSheet().getActiveSheet();
var column = range.getColumn();
var
我已经创建了一个脚本,它正在对我的工作表进行自动范围保护,并且特定的用户(基于他们的电子邮件附件)被排除在保护之外,可以编辑任何内容。这是最简单的部分。但是当我制作应该编辑受保护单元格的脚本时,它会告诉用户他正在尝试编辑一个受保护的单元格。我知道这是显而易见的,但我需要允许用户在单击脚本时编辑这些特定的单元格,但他无法手动更改它。
可视化:脚本在单元格"A1“中键入"123”,但是启动脚本的用户不能手动键入任何用于简单函数的"A1“代码:
function ABC() {
var arkusz = SpreadsheetApp.getActiveSpreadsheet(
我是Google脚本的新手,我正在尝试创建这个脚本,当有一个新的请求填充到特定的选项卡和列中时,这个脚本将发送通知给信使应用程序。
因此,选项卡的名称是“附加请求”,只有当B列中的单元格“请求号”被填充时,它才会触发通知。在编辑填充的单元格时,它不应该触发通知。
我设法使触发器只发生在B列,但是,即使我已经在脚本中指定了选项卡“附加请求”,当其他选项卡的B列被编辑时,也会发生触发器。此外,它还会在编辑B列中填充的单元格时触发通知。我能知道剧本里出了什么问题吗?为了找到答案,我搜索了许多类似的问题,但都没有用。
提前谢谢你!
function API() {
var cell = Spre
在第一个工作表中编辑时,我试图将动态单元格的值复制到另一个工作表上的特定单元格中。
当单元格A5、B3和C2在工作表“work”上编辑时,它应该取单元格B1的当前值,并将其复制到工作表“概述”上的单元格C5。
这是我到目前为止所掌握的代码,但是它不知怎么不起作用。我在这里错过了什么?
function onEdit2() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "work") {
var r =s.getActiveCell() ;
if(r.getCell('
当我运行这段代码时:
Sub AerTest()
'aer = allow edit range
Dim c, aerMain As Range
Set aerMain = Range("A1")
For Each c In Range("A1:AI23")
If c.Value = 1 Then
Set aerMain = Union(c, aerMain)
End If
Next c
ActiveSheet.Protection.AllowEditRanges.Add Title:="Test",
我有个密码:
function onEdit(e){
if (e.range.columnStart != 7 && e.range.columnStart != 8 || e.value <= 0) return;
let d = new Date();
if (e.range.columnStart == 7 && e.value == null){
e.range.offset(0,-2).setValue(null);}
else if (e.range.columnStart == 7 && e
我拼凑了以下脚本来对每一列进行排序,以便在底部显示空单元格/包含错误的单元格。问题是,如果在数据列(第4-1000行)的顶部只有一个空单元格,那么它不能正确排序(将空单元格留在那里,但其他情况下排序正确)。
Sub toTop()
'
' toTop Macro
'
' Keyboard Shortcut: Option+Cmd+t
'
Dim sheetName As String
Dim column As Integer
sheetName = ActiveSheet.Name
column = 1
Do Until IsEmpty(Cells
我曾浏览过类似的问题,但我有点吃惊。
谷歌单张名称:图书列表记录
标签名:寄往威斯康星州的书籍
当E列中的任何单元格在上面提到的选项卡中被手动更改时,我想要一封电子邮件发送给三个不同的人。我希望电子邮件消息提到更改单元格的行的B列(书名)和C列(图书作者)中的数据。即“你好,管理员团队!桑德拉·欧文活着的时候,他的状态已经更新(单元格E#),从旧的值变为新的值。”
这就是我所得到的。
function onEdit(e) {
var editedSheet = e.source.getActiveSheet();
var editedCell = e.range;
var row
我有一个可选择的、可导航的、可编辑的网格。在单元格中输入值后,必须更改更新单元格下单元格中的值。要显示两个单元格的更新值,我必须刷新网格。当我这样做时,编辑的单元格失去焦点。我找到了一种在保存事件期间重新调整上次编辑的单元格焦点的方法:
save: function (e) {
var focusedCellIndex = this.current()[0].cellIndex; //gets the cell index of the currently focused cell
//...some dataItem saving (dataItem.set()) l