Excel 和 VBA 关于形状

Excel and VBA regarding shapes

我正在进行一些实验,并且 运行 遇到了一些我想做但我无法弄清楚的事情。

我想允许用户点击 Excel 电子表格上的形状,让用户保持形状突出显示,以便他们可以使用箭头键移动它,但是当他们点击形状时, VBA 代码用整数填充一个字段,如果用户选择了不同的形状,则用不同的整数填充相同的字段。始终牢记,我希望用户仍然可以控制电子表格上的形状。

有人可以帮我解决这个问题吗?非常感谢。

这很容易实现。有一个与形状关联的宏。您单击形状,宏运行。假设宏是这样的:

Sub HelloWorld()
    MsgBox "Hello World"
End Sub

我们引入一个全局布尔值,叫做MoveMode

如果MoveMode为False,宏运行和往常一样,但是如果 MoveMode 为 True,则形状被选中并且可以使用箭头键移动。

Public MoveMode As Boolean

Sub HelloWorld()
    If MoveMode Then
        ActiveSheet.Shapes(Application.Caller).Select
    Else
        MsgBox "Hello World"
    End If
End Sub

现在我们只需要一个小子来改变MoveMode:

Sub MAIN()
    MoveMode = Not MoveMode
End Sub