我认为目前版本的Google表格无法做到这一点,但我想无论如何都会问:
我希望用户能够在电子表格中输入特定范围内的值,但我想阻止他们更改格式(特别是数据验证和条件格式)。我还想阻止他们添加新的行/列或删除行/列。
这可能吗?
答案 0 :(得分:1)
为保护条件格式,我将范围设置为比其需要的行或列大一格,并保护此多余的行或列。然后,包含其范围内受保护单元格的条件格式将无法再修改。
答案 1 :(得分:0)
保护工作表选项可能会限制其他用户添加/删除行的能力,但是我也花费了大量时间尝试解决条件格式设置问题。最后,我最终使用了两种解决方法;
if (values[i] == 'SUB') {
sheet
.setRowHeight(i+1, 19)
.getRange('A'+n+':CB'+n)
.setBackgroundColor('#b7b7b7')
.setFontFamily("Abel").setFontSize(6).setFontColor('white').setFontWeight("bold")
.setVerticalAlignment(DocumentApp.VerticalAlignment.MIDDLE).setHorizontalAlignment("center")
.setBorder(null, null, true, null, null, null,'white',SpreadsheetApp.BorderStyle.SOLID_THICK) /////// top,left,bottom,right,vertical,horizontal,color,style;
sheet.getRange('O'+n+':O'+n).setBackgroundColor('white')
sheet.getRange('AF'+n+':AF'+n).setBackgroundColor('white')
sheet.getRange('AJ'+n+':AJ'+n).setBorder(null, null, null, true, null, null,'white',SpreadsheetApp.BorderStyle.SOLID_THICK)
sheet.getRange('AN'+n+':AN'+n).setBorder(null, null, null, true, null, null,'white',SpreadsheetApp.BorderStyle.SOLID_THICK)
sheet.getRange('AR'+n+':AR'+n).setBorder(null, null, null, true, null, null,'white',SpreadsheetApp.BorderStyle.SOLID_THICK)
sheet.getRange('AV'+n+':AV'+n).setBorder(null, null, null, true, null, null,'white',SpreadsheetApp.BorderStyle.SOLID_THICK)
答案 2 :(得分:-1)
您可以在新页面上执行此操作。右键单击工作表名称,选择保护工作表,选择"除了某些单元格"你可能从那里得到它......
您可能有一张旧纸张,因为它不适用于某些现有纸张。如果您点击"数据"并且只能看到"命名和保护范围"作为单个条目而不是2个单独的菜单项,您使用的是较旧的工作表,但不允许保护。
答案 3 :(得分:-2)
最好的解决方案也是最简单的方法是Ctrl + Shift + V将数据粘贴为仅值。我也一直尝试这样做,因为我们处理的工作表涉及从不同来源进行复制/粘贴。在新数据之上进行绘画格式设置很烦人,而且浪费时间。练习Ctrl + Shift + V粘贴即可避免这样做。受保护的范围仅阻止其他用户输入数据。这不利于保持格式。