在vba中使用哪个按钮选择?

时间:2017-11-13 22:02:10

标签: excel vba excel-vba

我相信这可能是一个简单的问题。我正在尝试将新宏分配给我放在工作表上的按钮。这是我将代码分配给按钮的代码。

    .Shapes("Atlanta MFG").OnAction = "Atlanta"
    .Shapes("Denver MFG").OnAction = "Denver"
    .Shapes("Louisville MFG").OnAction = "Louisville"

我的代码一直在运行。然后上面的这个片段是最后一部分。它将亚特兰大宏分配给亚特兰大按钮,但之后代码只是STOPS。其他按钮不会被分配,看起来代码完全停止。然后我可以按f8重新启动它。为什么我的代码在第一个按钮完成后停止并且没有将宏分配给其余的按钮?先感谢您!我猜我需要添加一些其他类型的代码来继续为它们分配宏。

UPDATE ---------------------------------------------- ----------------

With ActiveSheet
    .BUTTONS.Add(53.25, 36.75, 190.5, 41.25).Select
    .BUTTONS("Button 1").Text = "Atlanta MFG"
    .BUTTONS("Button 1").name = "Atlanta MFG"
    .Shapes("Atlanta MFG").IncrementTop -12

    .BUTTONS.Add(53.25, 36.75, 190.5, 41.25).Select
    .Shapes("Button 2").IncrementLeft 222
    .Shapes("Button 2").IncrementTop -12
    .BUTTONS("Button 2").Text = "Denver MFG"
    .BUTTONS("Button 2").name = "Denver MFG"
    .BUTTONS("Button 7").Text = "Modesto MFG"
    .BUTTONS("Button 7").name = "Modesto MFG"
    .BUTTONS("Button 8").Text = "Seattle MFG"
    .BUTTONS("Button 8").name = "Seattle MFG"
    .BUTTONS("Button 9").Text = "Tustin MFG"
    .BUTTONS("Button 9").name = "Tustin MFG"
    .BUTTONS("Button 10").Text = "York MFG"
    .BUTTONS("Button 10").name = "York MFG"
    .BUTTONS("Button 11").Text = "Button 11"
    .BUTTONS("Button 11").name = "Button 11"
    .BUTTONS("Button 12").Text = "Button 12"
    .BUTTONS("Button 12").name = "Button 12"

    .Shapes("Atlanta MFG").OnAction = "Atlanta"
    .Shapes("Denver MFG").OnAction = "Denver"
    .Shapes("Jackson MFG").OnAction = "Jackson"
    .Shapes("Louisville MFG").OnAction = "Louisville"

    Range("A1").Select

End With

所以我添加10个按钮并不是所有的代码都在那里。我添加按钮然后移动它们,然后我为每个位置制作私人潜艇。例如,

Private Sub Atlanta()

MsgBox "Atlanta MFG do your thing!"

End Sub

我为每个地点都有一个。当我运行它时,我可以点击亚特兰大按钮,但之后的每个按钮我都无法点击。他们只是这样做,所以我可以移动框,而不是实际运行按钮。

SECOND UPDATE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!

显然它正在发挥作用。我不确定是否按下ctrl-shift-f9做了什么或者是什么......但我今天早上试了一下,点击了ctrl-shift-f9,然后全部跑了。所以也许我昨晚搞砸了。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果您曾经休息或观看过一段时间,Excel有时会认为它仍然存在。在再次尝试之前,尝试使用control + shift + F9清除所有内容