我正在使用代码根据使用 VBA 的用户输入在 Excel 中绘制许多自选图形。但是,其中一些形状可能会相互遮挡,因此我想运行第二遍以命中测试哪些形状被遮挡并轻推它们直到它们不再被遮挡。
所以基本的伪代码大纲是:
do
foreach shape s in shapes
if (s.hittest(shapes)) then
do
s.nudgeup(1)
until (!s.hittest(shapes))
endif
next
until (!shapes.hittest(shapes))
你们中的任何人都可以想出某种方法来做到这一点(或者甚至可以解决这个问题,因此不必这样做)?
我已经查看了 RangeFrom 函数,但这似乎没有多大用处(仅返回特定屏幕坐标处的一个形状,而不是相交的形状)。
非常感谢您的帮助。