Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如果UserForm激活了代码结尾,则无法执行删除_Excel_Vba - Fatal编程技术网

Excel 如果UserForm激活了代码结尾,则无法执行删除

Excel 如果UserForm激活了代码结尾,则无法执行删除,excel,vba,Excel,Vba,编辑:我用完整的代码修改了userform2特定代码 我在下面定义了2个userforms和userform2代码。我的问题是,如果代码最终显示userform1,则从userform2组合框(从工作表名称填充)中选择要删除的工作表将保持激活状态。但makro运行良好,如果我删除“UserForm1.Show”行,删除就会成功。成功执行后,如何删除选定的工作表all并显示userform1?提前感谢你的帮助 Userform2代码 Private Sub ToggleButton1_Click(

编辑:我用完整的代码修改了userform2特定代码

我在下面定义了2个userforms和userform2代码。我的问题是,如果代码最终显示userform1,则从userform2组合框(从工作表名称填充)中选择要删除的工作表将保持激活状态。但makro运行良好,如果我删除“UserForm1.Show”行,删除就会成功。成功执行后,如何删除选定的工作表all并显示userform1?提前感谢你的帮助

Userform2代码

Private Sub ToggleButton1_Click()
    Dim i As Integer
    i = ActiveWorkbook.Worksheets.Count
    Application.DisplayAlerts = False
    If UserForm2.ComboBox1.Value = "SILINECEK CARIYI SEÇIN" Then
        MsgBox "CARI SEÇMEDINIZ"
        Unload UserForm2
        Application.Visible = True
        Exit Sub
    End If
    If ToggleButton1.Value = True And i < 5 Then
        ActiveWorkbook.Unprotect
        Sheets("MASTER CARI").Visible = True
        Worksheets(UserForm2.ComboBox1.Text).Delete
        Unload UserForm2
        Application.Visible = False
        UserForm1.Show
        ActiveWorkbook.Protect
        Exit Sub
    Else
        ActiveWorkbook.Unprotect
        Worksheets(UserForm2.ComboBox1.Value).Delete
        Unload UserForm2
        Application.Visible = True
    End If
    ActiveWorkbook.Protect
    Application.DisplayAlerts = True
End Sub
Private子切换按钮1\u Click()
作为整数的Dim i
i=ActiveWorkbook.Worksheets.Count
Application.DisplayAlerts=False
如果UserForm2.ComboBox1.Value=“SILINECEK CARIYI SEÇIN”,则
MsgBox“CARI SEÇMEDINIZ”
卸载UserForm2
Application.Visible=True
出口接头
如果结束
如果ToggleButton1.Value=True且i<5,则
ActiveWorkbook.Unprotect
图纸(“主CARI”)。可见=真实
工作表(UserForm2.ComboBox1.Text)。删除
卸载UserForm2
Application.Visible=False
UserForm1.Show
ActiveWorkbook.Protect
出口接头
其他的
ActiveWorkbook.Unprotect
工作表(UserForm2.ComboBox1.Value)。删除
卸载UserForm2
Application.Visible=True
如果结束
ActiveWorkbook.Protect
Application.DisplayAlerts=True
端接头

为什么要隐藏整个应用程序
Application.Visible=False
用户表单是
Modal
还是
Modeless
表单?(检查
ShowModal
属性)。当它不起作用时会发生什么?(Excel是否隐藏/仍在任务资源管理器中运行?
Userform1
是否正在等待输入,但不可见?)