小编Kcv*_*vin的帖子

如何根据背景颜色获取 8 行列的十六进制值?

我有一个电子表格,我用它来帮助可视化每个 ASCII 字符的字符位图。对于 5x7 字体,我使用 5 个单元格宽(列)和 7 个单元格高(行)。然后我将 8 行列中每个单元格的背景标记为黑色,以表示一个字节的位,其中每一位是一个像素,黑色背景表示一个像素为ON. 然后,我创建一个字节数组,它将作为我的字符表示。对于我想要的每种字体大小,我必须为 95 个字符(ASCII 值)执行此操作。

问题是我必须盯着字符的每一列,确定它的二进制值,然后计算出十六进制值。因此,尝试为 5 宽字符表计算 495 个字节变得乏味。我想知道是否有我可以编写的工作表函数来检查单元格的背景颜色,如果黑色将设置变量的第n位,然后创建下面该列的十六进制值。

TL;DR我没有在 Excel 中编写函数的经验。我正在使用 LCD 屏幕。我有一个电子表格,上面有我所有的字符——其中每个像素ON的背景颜色都是黑色。1 个单元 = 1 位字节。我需要一个函数,它可以根据背景单元格是否为黑色为我提供列的十六进制值。继续插图。

这是我的电子表格中 5x7 字符“A”的示例。*** 表示单元格背景颜色为黑色,否则为白色。(如果需要,向每个背景颜色为黑色的单元格添加诸如单元格值 1 之类的东西不会有问题,以使其成为一个更简单的功能):

   ____________________
B0|   |***|***|***|   | (row 0)
  |-------------------|
B1|***|   |   |   |***| (row 1)
  |-------------------|
B2|***|   |   |   |***| (row 2)
  |-------------------|
B3|***|***|***|***|***| (row 3)
  |-------------------|
B4|***|   |   |   |***| (row 4)
  |-------------------|
B5|***|   |   |   |***| (row 5) …
Run Code Online (Sandbox Code Playgroud)

worksheet-function microsoft-excel microsoft-excel-2010

0
推荐指数
1
解决办法
1416
查看次数