0

我有一个 Excel 2010 表,其中包含链接到隐藏单元格的下拉列表。默认情况下不填充下拉列表(链接的单元格为空)。我还有一个名为“ VIS”的 ActiveX 命令按钮,它根据用户选择打开一个网站,但我不希望该按钮在单元格J1具有值(J1链接到下拉列表)之前可见。如果按钮不为空白,如何使按钮隐藏J1.value = ""并且可见?如果它更容易,我在单元格中还有一个公式可以在 VBA中使用/参数。谢谢。M1 "=IF(J1="",TRUE,FALSE)"truefalse

4

1 回答 1

2

并不是说这是最好的方法,但这是一种方法......使用 worksheet_calculate 事件,如下所示:

Private Sub Worksheet_Calculate()
VIS.Visible = Not Range("M1").Value
End Sub

我采用了这种方法,因为它符合您当前的工作表设计和您制定的逻辑。如果您想要另一种方法,我很乐意提供一个。不管怎样,我希望它能让你朝着正确的方向前进!

好吧,我无法抗拒。这是使用 Worksheet_Change 事件的另一种方法:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
        If Target.Address = "$J$1" Then VIS.Visible = Application.WorksheetFunction.CountA(Range("J1"))
    Application.EnableEvents = True
End Sub

worksheet_change 事件的好处是,您可以摆脱 M1 中的公式。根据您的工作表布局,可能不需要 Application.EnableEvents = False ..但为了以防万一,将它放在那里并没有什么坏处。

于 2013-05-17T02:10:22.833 回答