Excel 如何根据单元格值为插入的形状指定位置

Excel 如何根据单元格值为插入的形状指定位置,excel,vba,Excel,Vba,取决于单元格值 说A1=234和B1=435 这些“A1值=x坐标”和“B1=y坐标” 这两个单元格值都表示excel工作表中插入形状(矩形)的位置 因此,当这些值不是手动动态更改时,相应形状(矩形)的位置应相应更改。编写一个宏以从单元格中获取值,并设置为形状(本例中为矩形)的顶部和左侧属性 然后,要将此宏附加到这些单元格中任何单元格更改的值的事件,必须从工作表\u Change事件调用此宏。它会将此宏设置为在单元格值更改时自动触发 Private Sub Worksheet_Change(By

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

这些
“A1值=x坐标”和“B1=y坐标”

这两个单元格值都表示excel工作表中插入形状(矩形)的位置


因此,当这些值不是手动动态更改时,相应形状(矩形)的位置应相应更改。

编写一个宏以从单元格中获取值,并设置为形状(本例中为矩形)的
顶部
左侧
属性

然后,要将此宏附加到这些单元格中任何单元格更改的值的事件,必须从
工作表\u Change
事件调用此宏。它会将此宏设置为在单元格值更改时自动触发

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
中的值,名称为
矩形1
的矩形应相应更改其位置

如果单元格的值由公式更改,则必须从
工作表\u Calculate
事件调用此宏

Private Sub Worksheet_Calculate()
        Call MoveRectangle
End Sub

编写宏以从单元格中获取值,并将其设置为形状(本例中为矩形)的
top
&
left
属性

然后,要将此宏附加到这些单元格中任何单元格更改的值的事件,必须从
工作表\u Change
事件调用此宏。它会将此宏设置为在单元格值更改时自动触发

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
中的值,名称为
矩形1
的矩形应相应更改其位置

如果单元格的值由公式更改,则必须从
工作表\u Calculate
事件调用此宏

Private Sub Worksheet_Calculate()
        Call MoveRectangle
End Sub

您可以使用
工作表_Change
事件,然后简单地设置形状的新值(因为它会自动触发)。如果值是公式的结果,那么您需要使用
工作表_calculate
事件。我真的不明白您的意思,我不熟悉VBa编码,你能详细解释一下吗?谢谢:-)你可以使用
工作表\u Change
事件,然后简单地为形状设置新值(因为它会自动触发)。如果值是公式的结果,那么你需要使用
工作表\u calculate
事件。我真的不明白你的意思,我不熟悉VBa编码,您能详细解释我吗?谢谢:-)首先非常感谢您的快速响应。当单元格A和B中的值手动更改时,它工作,但当单元格A和B中的值动态更改而不是手动更改时,它不工作。您能添加解释吗?您到底想实现什么。例如,代码可能会有所帮助。很抱歉,我不能让您更清楚地了解它。这里我要问的是,当单元格A1和B1中的值手动更改时,您的代码正在运行,相应的形状也相应地更改了其位置。这里我的要求是,当单元格A1和B1中的值由于公式而改变时,我的意思是在单元格A1和B1中,出现了类似“A1”(=A2+A3)和“B1”(=B2+B3)的公式。在这种情况下,您必须从
工作表\u Calculate
事件调用此宏。检查更新后的答案。它正在工作,但遇到了一个问题。如果我想在其他工作表中分配位置,如何做。这仅适用于sheet1,如果希望在sheeet2中也适用,如何操作…。我对这个vba不太了解。因此,请帮助我解决这个问题。首先非常感谢您的快速响应。当单元格A和B中的值手动更改时,它起作用,但当单元格A和B中的值动态更改时,不是手动更改时,你能解释一下你到底想达到什么目的吗。例如,代码可能会有所帮助。很抱歉,我不能让您更清楚地了解它。这里我要问的是,当单元格A1和B1中的值手动更改时,您的代码正在运行,相应的形状也相应地更改了其位置。这里我的要求是,当单元格A1和B1中的值由于公式而改变时,我的意思是在单元格A1和B1中,出现了类似“A1”(=A2+A3)和“B1”(=B2+B3)的公式。在这种情况下,您必须从
工作表\u Calculate
事件调用此宏。检查更新后的答案。它正在工作,但遇到了一个问题。如果我想在其他工作表中分配位置,如何做。这是工作只为sheet1,如果想在sheeet2也一样,如何做,…我不知道这个vba太多。所以请帮助我在这方面。谢谢