如何根据单元格值为插入的形状分配位置

取决于单元格值A1= 234B1 = 435

这些""A1 value = x -coordinates "" and "B1 = y - coordinate "

这两个单元格的值赋予Excel表格中插入的形状(矩形)的位置。

所以当这些值dynamic变化而不是手动时,相应的形状(矩形)的位置应该相应地改变。

编写一个macros以获取单元格中的值,并将其设置为形状的topleft属性(本例中为矩形)。

 Sub MoveRectangle() With ActiveSheet.Shapes("Rectangle 1") .Left = Cells(1, "A").Value 'X - Coordinate .Top = Cells(1, "B").Value 'Y - Coordinate End With End Sub 

然后将这个macros附加到任何这些单元格更改的值的事件,您必须从WorkSheet_Change事件调用此macros。 它会设置这个macros在单元格的值改变时自动触发。

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Or Target.Address = "$B$1" Then Call MoveRectangle End If End Sub 

现在尝试改变A1B1的值,矩形名称为Rectangle 1的矩形应该相应地改变它的位置。

如果单元格的值由公式更改,则必须从Worksheet_Calculate事件调用此macros。

 Private Sub Worksheet_Calculate() Call MoveRectangle End Sub