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 中获取 Left
和 Top
属性,然后将它们传递给 Checkboxes.Add
:
With ActiveSheet.CheckBoxes.Add(Range("C6").Left, Range("C6").Top, 72, 18)
.Name = "firstcheckbox"
.Caption = "CLICK ME"
End With
在 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 中获取 Left
和 Top
属性,然后将它们传递给 Checkboxes.Add
:
With ActiveSheet.CheckBoxes.Add(Range("C6").Left, Range("C6").Top, 72, 18)
.Name = "firstcheckbox"
.Caption = "CLICK ME"
End With