如何根据单元格宽度更改形状的大小

时间:2018-01-31 15:30:01

标签: excel vba excel-vba

如何根据单元格宽度更改形状的大小

例如,我的单元格B1的宽度为:14:00(103像素),C1的宽度为:16:00(117像素) 放置在Rage内部的形状应该将其大小更改为220像素。

每当宽度改变时,它应根据其尺寸进行调整!所以应该有一个规定来找到单元格宽度。

我的代码将帮助我集中精力

Sub Set_shape()

ActiveSheet.Shapes("Rectangle 1").Select 'get the object
With Selection
    .Left = Range("B1:C1").Left + (Range("B1:C1").Width - Selection.Width) / 2
    .Top = Range("B1:C1").Top + (Range("B1:C1").Height - Selection.Height) / 2
End With

End Sub

有可能吗?如果是,请帮我修改此代码?

提前致谢

1 个答案:

答案 0 :(得分:3)

如果想要的形状与给定范围完全一致,那么这就是如何做到的:

borderSize

这就是你得到的:

here

好的方面是,如果更改单元格的大小,默认情况下形状也会更改:

enter image description here

如果你想在形状周围放一些边框,可以这样玩:

Testowa

在这种情况下,边框以WeekViewEvent的形式给出,结果如下: enter image description here