ToggleButton不再工作了

时间:2015-02-14 11:14:50

标签: excel-vba vba excel

我在工作簿的其中一个选项卡中有一个简单的ToggleButton。当我在设计模式中单击它时,它被标识为=EMBED("Forms.ToggleButton.1","")。并且(在打开选项卡的情况下)当我单击View Code时,VBE会转到正确的工作表,我可以看到ToggleButton1编码正确:

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Range("AU6").Select
ActiveCell.FormulaR1C1 = "2"
Range("AU7").Select
ActiveCell.FormulaR1C1 = "3"
Range("AU18").Select
ActiveCell.FormulaR1C1 = "UP"
With Selection.Font
    .Color = -16738048
    .TintAndShade = 0
End With
ElseIf ToggleButton1.Value = False Then
Range("AU6").Select
ActiveCell.FormulaR1C1 = "5"
Range("AU7").Select
ActiveCell.FormulaR1C1 = "6"
Range("AU18").Select
ActiveCell.FormulaR1C1 = "DN"
With Selection.Font
    .Color = -16776961
    .TintAndShade = 0
End With
End If
End Sub

以前工作过。我尝试了左右键单击,我确保设计模式没有打开。我唯一不确定的是标签页和切换是否最初是在另一个工作簿中创建的,并复制到我正在使用的工作簿上。

我确定这必须是简单的,但我在Excel的背面有点新手。希望有人可以提供帮助。非常感谢,Jan

1 个答案:

答案 0 :(得分:0)

您的代码中切换按钮的name很可能不正确(如果从一个工作表复制到另一个工作表,可能会发生这种情况)。

  1. 打开design mode,然后双击切换按钮进入VBE
  2. F4打开Properties窗格
  3. 检查(name)字段(通常位于顶部)
  4. 该名称应与代码中的完全匹配ToggleButton1匹配,例如如果nameToggleButton2,那么在您的代码中,您需要ToggleButton2

    工作表上的标识符=EMBED("Forms.ToggleButton.1","")无关紧要。

    最后,如果您愿意,可以整理代码:

    Private Sub ToggleButton1_Click()
        Range("AU6").FormulaR1C1 = IIf(ToggleButton1, "2", "5")
        Range("AU7").FormulaR1C1 = IIf(ToggleButton1, "3", "6")
        Range("AU18").FormulaR1C1 = IIf(ToggleButton1, "UP", "DN")
        Range("AU18").Font.Color = IIf(ToggleButton1, -16738048, -16776961)
    End Sub