VBA只运行一次macros
当工作表打开时,我在macros下面运行。 问题是,每当我改变单元格中的值或执行任何事件macros再次启动。 如何预防呢?
Private Sub Worksheet_Calculate() Application.EnableEvents = False Dim i As Long i = Application.WorksheetFunction.CountIf(Range([W2], Cells(Rows.Count, "W").End(xlUp)), "tak") Worksheets("Arkusz1").Range("AZ1").Value = i If Worksheets("Arkusz1").Range("AZ1").Value > 0 Then MsgBox "Sa " & i & " wózki do przeglądu" Else MsgBox "Nie ma wózków do przeglądu" End If Application.EnableEvents = True End Sub
没有打开工作表(据我所知)这样的事情。 如果要在切换到工作表时执行macros,请使用Worksheet_Activate
事件而不是Worksheet_Calculate
。
你也可能需要添加类似的东西
If ActiveSheet.Name = "sheetnamehere" Then yourMacroHere
到Workbook_Open
事件如果您要macros工作簿打开时如果工作表处于活动状态。
我build议将代码移动到一个单独的macros,并从事件中调用该macros。