我有一个包含多张工作表的工作簿,其中有 M1:O2
范围内的一些数据。这三列的宽度可能因工作表而异,但按钮应添加到每个工作表中,而不会重叠数据。所以不要使用像这样的典型方式:
Set btn = ws.Buttons.Add(690, 4, 173.25, 41.25)
我想添加相对于单元格的按钮,在我的例子中是单元格 Q1
或 Q2
。那可能吗?或者我可以找出单元格 Q1
所在的位置(即 left
和 top
的双值)?
答案 0 :(得分:3)
每个范围(一个单元格就是一个范围)都具有 left
和 top
(以及 width
和 height
)等属性。
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