第一次单击时命令按钮不起作用

时间:2020-08-24 19:05:58

标签: excel vba

我学到的所有程序都是通过手册和诸如此类的网站进行的。因此,我不会称自己为程序员,但我确实使用了许多快速而肮脏的宏来简化我的生活。有时候,一切都会掉下来,需要协助!

我有一本工作簿,总结了我从事的工作。为了更快地工作,我添加了一些命令按钮,它们也加快了诸如过滤特定列中的空白之类的简单任务的速度。通常,这可以。自从我上次使用该工作簿已经过去了三个星期,而今天却表现不佳。单击命令按钮,功能区大部分变为灰色。再次单击该按钮,代码运行,并且功能区恢复正常。

我在代码中放置了一个断点。第一次单击时,未达到断点。在第二次点击断点!

有趣的是,如果我第一次单击命令按钮,然后进入vba编辑器,然后单击中断按钮,功能区将再次恢复正常。因此,正在发生某些事情,但没有得到CommandButtonIssd_Click的帮助。

命令按钮代码如下:

Private Sub CommandButtonIssd_Click()
    FilterIt 9
End Sub

大多数其他命令按钮仅作用于不同的列号。

在主模块中,代码为:

Sub FilterIt(FieldNo As Integer)
'
' Filter Macro
'
    FilterOff
    ActiveSheet.Range("A4").AutoFilter
    ActiveSheet.Range("A4").AutoFilter Field:=FieldNo, Criteria1:="="

End Sub

Sub FilterOff()
Dim a As Range, b As Range, iRow As Integer, iCol As Integer
    
    If ActiveSheet.AutoFilterMode Then      'on, turn it off
        Set a = Selection                   'keep current location
        iRow = a.Row
        iCol = a.Column
        Selection.AutoFilter
        Range(Cells(iRow, iCol), Cells(iRow, iCol)).Select  'reset current location
    End If

End Sub

要做的只是过滤第9列,以仅显示空白单元格。

我认为这是Windows10,Office365问题,因为代码已经稳定了一段时间,并且上次使用它时还可以。在这种情况下,这只是等待MS解决其错误并发布更新的情况(每个星期四,发条定期进行!)。 或者我的代码值得怀疑,需要进行调整以阻止它与系统混淆。

您的想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

我今天在使用 Excel 365 工作簿时遇到了同样的问题:第一次单击时所有命令按钮都不会触发。但是,它们会在后续点击时触发。

<块引用>

今天它行为不端。单击命令按钮,功能区大部分变为灰色。再次点击按钮,代码运行,功能区恢复正常。

就我而言,当我关闭并重新打开 Excel 然后重新打开工作簿时,不良行为消失了。之后,CommandButtons 在第一次点击时触发。我同意@MikeK 的观点,它似乎是一个 Excel 错误。