【发布时间】:2020-03-09 13:27:34
【问题描述】:
我有一个电子表格,其中的数据分布在不同工作表的不同单元格中。我想要一个名为protect的函数,它将所有未受保护的单元格与数据设置为受保护的,最好不必遍历每张表中的每个单元格,因为这是我在此保护函数运行之前所做的事情。
有没有办法为所有不为空的单元格/范围或至少组合相邻范围的单元格/范围获取范围或范围列表。
例如:range("A2") + range("A3") + range("A4") -> range("A2:A4")
为图片中的工作表运行 protect() 应检索选定的范围并将它们中的每一个设置为受保护。
【问题讨论】:
-
哦,我认为您不依赖于用户选择,而只是寻找包含数据的单元格。我不认为有一个内置的方法。你可以使用
.getDataRange()之类的东西,但它也会拾取空单元格。为了得到你想要的,你可能必须编写一个函数。 -
您可以使用 getDataRange 并且您需要迭代抛出包括空单元格在内的整个数组,同时使用条件来根据该条件进行操作。您也可以使用getNextDataCell 跳过空单元格,但它的性能可能最差。
-
“有没有办法为所有不为空的单元格/范围或至少组合相邻的范围获取范围或范围列表。”你想要这两个选项中的哪一个?
-
@Tedinoz,要么。由于我已经遍历所有单元格以获取数据,因此我可以将每个单元格 A1 表示法存储在一个列表中并制作一个范围列表。但是,我会评估尽可能多的范围,因为它可能是例如除 G1 外,范围 A1:P1 中的所有单元格都有数据。在这种情况下,这些可以组合成 2 个范围 A1:F1 和 H1:P1,而不是 15 个单独的单元格。尽管正如句子所暗示的那样,前者更可取。
标签: google-apps-script google-sheets