添加相对于单元格的按钮?

时间:2021-02-18 13:31:12

标签: excel vba

我有一个包含多张工作表的工作簿,其中有 M1:O2 范围内的一些数据。这三列的宽度可能因工作表而异,但按钮应添加到每个工作表中,而不会重叠数据。所以不要使用像这样的典型方式:

Set btn = ws.Buttons.Add(690, 4, 173.25, 41.25)

我想添加相对于单元格的按钮,在我的例子中是单元格 Q1Q2。那可能吗?或者我可以找出单元格 Q1 所在的位置(即 lefttop 的双值)?

1 个答案:

答案 0 :(得分:3)

每个范围(一个单元格就是一个范围)都具有 lefttop(以及 widthheight)等属性。

Dim r as Range
set r = ws.range("Q1")
Set btn = ws.Buttons.Add(r.left, r.top, 173.25, 41.25)
' To fit the button exactly into the cell, use:
' Set btn = ws.Buttons.Add(r.left, r.top, r.width, r.height)
' To ensure that the button stays always in the cell, use:
btn.Placement = xlMove