有没有办法阻止人们手动插入工作表。我有一个表单,根据用户放入的信息自动创建工作表。我目前使用的代码将阻止人们创建工作表,但它也阻止我的表单创建工作表。这是我正在使用的。它位于工作簿模块中。
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
End Sub
答案 0 :(得分:3)
在模块
中声明Public BoolAdd As Boolean
这在Workbook_NewSheet
Private Sub Workbook_NewSheet(ByVal Sh As Object)
If BoolAdd = False Then
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
Else
BoolAdd = False
End If
End Sub
并在添加表单之前在用户表单中将BoolAdd
设置为TRUE
。
Private Sub CommandButton1_Click()
BoolAdd = True
Sheets.Add
End Sub
逻辑:用户表单会将公共变量设置为True
。这将确保不会运行工作表删除代码。此外,我们必须将其设置为false,否则用户将能够在关闭用户窗体后添加工作表。