将VBA嵌入到工作表中以根据单元格的值显示/隐藏表单控件

时间:2016-08-15 03:36:33

标签: excel vba excel-vba

我使用了一个组合框表单控件,并将输入1,2和3链接到它。我已经使用单元链接C2作为输出。我正在尝试将VBA代码添加到工作表以识别单元格“C2”中的值是数字1以显示表单控件按钮3。如果是任何其他值不显示“Button3”,则表单控件将被隐藏。

我想出了这个:

Sub Display_KPI_FORMS()

If Range("C2").Value = 1 Then

        Sheets("Sheet1").Shapes("Button3").Visible = msoFalse
        Else
        Sheets("Sheet1").Shapes("Button3").Visible = msoTrue
    End If

End Sub

如果找不到指定名称的项目,则会显示错误。

任何帮助?

1 个答案:

答案 0 :(得分:1)

表单按钮的默认名称包含空格。 If Then Else块中的逻辑与您的陈述相矛盾。您可以删除If语句,只需使用以下代码即可。

Sheets("Sheet1").Shapes("Button 3").Visible = Range("C2").Value = 1 
Sub Display_Forms()

    With Sheets("KPI Summary")
        .Shapes("T1M").Visible = Range("R2").Value = 1
        .Shapes("T1Q").Visible = Range("R2").Value = 3
        .Shapes("T1Y").Visible = Range("R2").Value = 12
    End With

End Sub