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
我正在进行一些实验,并且 运行 遇到了一些我想做但我无法弄清楚的事情。
我想允许用户点击 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