VBA 可以移动的按钮?

VBA Buttons that can Move?

在 VBA 中添加按钮时,我 运行 陷入困境。

我有一个电子表格,可能会扩展行或向其中添加行。现在,我知道如何使用宏添加按钮(即当您单击此按钮时,下面会出现另外三个按钮)的唯一方法是使用坐标系

With ActiveSheet.CheckBoxes.Add(185, 464, 72, 18)
    .Name = "firstcheckbox"
    .Caption = "CLICK ME"
End With

但是,如果有人在单击按钮制作按钮之前在表单上方添加行,则这些坐标不再合适,并且三个按钮显示得比我希望的要高。

我绞尽脑汁想研究这个。是否有一些明显的方法可以使用单元格而不是坐标来创建这些按钮,这样上面添加了多少行都没有关系?

With ActiveSheet.CheckBoxes.Add.Range("C6")
    .Name = "firstcheckbox"
    .Caption = "CLICK ME"
End With

或类似的东西?还是我受限于坐标系?

如有任何帮助,我们将不胜感激!

只需从 Range 中获取 LeftTop 属性,然后将它们传递给 Checkboxes.Add:

With ActiveSheet.CheckBoxes.Add(Range("C6").Left, Range("C6").Top, 72, 18)
    .Name = "firstcheckbox"
    .Caption = "CLICK ME"
End With