是否可以按中心点定位形状?
我尝试将形状叠加到Excel中的地图图片上,并根据单元格中的值调整形状的大小。
我确定了尺寸部分,但每次我的形状尺寸增加时,由于其左侧和顶部的位置,它会慢慢开始向右和向下移动。如果数据刷新后我的圈子的位置不会移动,我希望如此。我只想改变形状的大小。
有什么想法吗?
答案 0 :(得分:1)
如果您知道要放置它的X / Y(真的是左/上,因为{0,0}是左上角),就可以减去形状大小的一半来获得中心在那里。
这是一些简单的代码,它将圆心放在单元格E8的角落。我假设你有办法根据你的问题选择形状。
Sub PositionByCenter()
Dim dbl_x As Double
Dim dbl_y As Double
'select a cell just to put it somewhere
dbl_x = Range("E8").Left
dbl_y = Range("E8").Top
'grab a reference to a shape
Dim shp As Shape
Set shp = Selection.ShapeRange.Item(1)
'position by the center
shp.Top = dbl_y - shp.Height / 2
shp.Left = dbl_x - shp.Width / 2
End Sub
以下是选择圆圈后运行的内容。