如何根据单元格值为插入的形状分配位置
取决于单元格值A1= 234
和B1 = 435
,
这些""A1 value = x -coordinates "" and "B1 = y - coordinate "
。
这两个单元格的值赋予Excel表格中插入的形状(矩形)的位置。
所以当这些值dynamic变化而不是手动时,相应的形状(矩形)的位置应该相应地改变。
编写一个macros以获取单元格中的值,并将其设置为形状的top
和left
属性(本例中为矩形)。
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
现在尝试改变A1
或B1
的值,矩形名称为Rectangle 1
的矩形应该相应地改变它的位置。
如果单元格的值由公式更改,则必须从Worksheet_Calculate
事件调用此macros。
Private Sub Worksheet_Calculate() Call MoveRectangle End Sub