Excel VBA中是否有任何方法可以通过按住Ctrl并单击选项卡然后拖动来检测用户何时创建工作表?
newsheet
事件在发生这种情况时似乎没有被触发,因此想知道是否有其他方法可以检测到这一点......
答案 0 :(得分:0)
我知道如何解决问题的唯一方法是跟踪工作表计数。
您可以通过向模块添加公共变量来实现此目的,例如
Public SheetCount As Integer
然后将以下事件处理程序添加到ThisWorkbook
中Option Explicit
Private Sub Workbook_Open()
SheetCount = ThisWorkbook.Sheets.Count
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim newCount As Integer
newCount = ThisWorkbook.Sheets.Count
If newCount > SheetCount Then
SheetCount = newCount
MsgBox "sheet added"
End If
End Sub
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
SheetCount = SheetCount - 1
End Sub
MsgBox当然只是出于测试目的。