我有一个包含 23.000 个单元格 (H3:H23003) 的列表,它们都具有特定的单元格颜色。我需要这些颜色的十六进制值。目前,我通过在脚本编辑器中运行此脚本来获取这些内容:
function getHex(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange(input);
var result = cell.getBackground();
return result
}
然后我在工作表中使用这个公式:
=getHex(cell("address",G21))
但是由于单元格数量很大,需要很长时间才能复制公式并获取十六进制值。
有没有办法在自动化过程中做到这一点,通过一个可以一次运行每个单元格的脚本,而无需我手动复制公式或计算脚本中的值并只需粘贴十六进制值(value)观?
谢谢
最佳答案
不要一次获取一个单元格的背景,而是使用 getBackgrounds 一次获取所有背景。 。示例:
/*
* Return the backgrounds of the referenced cells.
*
* @param {"A1:A5"} reference A reference string
*
* @customfunction
*/
function myBackgrounds(reference) {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(reference);
return range.getBackgrounds();
}
关于javascript - Google 脚本将 23.000 行的颜色转换为十六进制代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34998290/