macrosExcel:将文本插入圆形内的完美方形单元格中
我如何自动插入文本到每个单元格(只有完美的方形单元格),或者如果有任何其他方式? 标签文本为1A,1B,1C,1D,2A,2B,2C,2D等,直到圆内完美方格的末尾。 问题在于,每个晶片pipe芯的单元具有不同的宽度和高度。 圆圈内的行和列的范围也会不同。 我的问题是我如何自动标签的圆或其他方式可能与不同的高度和宽度的单元格。
在这里,我附上我的晶圆片模样:
那么,让我们假设我们的圆圈中间位于单元格E5
(在左上angular,如图所示)。 如果我们要确定某个单元格是否在圆圈内,我们必须执行以下操作。 例如,我们来看看是否包含单元格C3。 我们假设圆的半径是r
。 所以现在我们需要计算E5左上angular到C3右下angular的距离。 所以你需要计算E5的顶部和C3的底部之间的高度,在这种情况下,它将是第四行的高度(更一般地说,它将是所有行之间高度的总和),我们称它为a
。 然后,以类似的方式计算E列左侧和C列右侧之间的距离,那么就会得到D列的宽度(一般来说,它将是列间宽度之和),我们称之为b
。 然后你用pitgeorean定理来计算angular点之间的距离:sqrt(a ^ 2 + b ^ 2)。 如果它小于r
那么单元格在圆圈内。 如果要确定整个单元格是否在圆内,则还必须计算到C3右上angular的距离。
我认为它把握了一个问题,你可以概括它:)
首先,这是一个math问题,在你可以执行任何标记操作(这将是最后一步)之前,你需要计算哪些细胞在圆内。
因此你需要检查每个单元格(循环遍历)是否在圆内。
如果一个单元格在圆圈内
-
该单元格的四个顶点(拐angular)中的任何一个与圆的中心之间的距离小于圆的半径:
(x_center_x) 2 +(y_center_y) 2 <半径2
其中x
和y
是一个顶点的坐标,center_x
和center_y
是圆心的坐标。 必须检查单元的所有4个顶点。 -
你必须考虑如果顶点必须是…
- 在圆圈内(上面的公式)
- 或者如果精确地放在圆上的顶点仍然可以。
(x_center_x) 2 +(y_center_y) 2 <=半径2
现在你已经检查了所有的单元格,发现哪些是在圆内,你可以通过遍历find的单元格开始标记它们。