如何用vba代码终止excel的关闭?

我在要在excel关闭前运行一个小程序:检测C2单元格是否填写,若未填写则出现提示,并终止excel的关闭。代码如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("C" & 2) = "" Then
MsgBox "请输入单位或项目名称!", 48
Range("C" & 2).Select
(在这里如何编写代码终止EXCEL的关闭?)
Exit Sub
End If
End Sub
求大神指教!

第1个回答  推荐于2016-02-14
代码中,只是关闭了一个Excel文件。
事实上,应该关闭整个Excel软件。
VBA代码可以修改为:

Sub 完成工作()
ActiveWorkbook.Save
ThisWorkbook.Application.Quit
'或者Application.Quit
End Sub
即可。
第2个回答  2014-12-31
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
If Range("C" & 2) = "" Then
MsgBox "请输入单位或项目名称!", 48
Range("C" & 2).Select
Exit Sub
End If
End Sub

有一个问题就是,要求必须启用宏,有点难。

第3个回答  2014-12-31
Cancel=true本回答被提问者采纳
第4个回答  2014-12-31
抱歉,看错了

excel如何通过vba代码关闭工作薄呢?
1、首先我们打开一个工作样表作为例子。2、我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Option Explicit Sub setcap()ThisWorkbook.Close False End Sub 3、close方法必须有一个对象,对象为workbooks,在这里我们使用的thisworkbook可以直接使用参数。而workbooks使用...

在vba中怎样用代码关闭excel应用程序,我用excel.application.quit怎么...
Shell "taskkill \/f \/im EXCEL.EXE"End Sub 是这样的,Close和Quit方法,是可以退出工作簿,和直接彻底关掉Excel的Application的背景界面的,但是必须有先后顺序,你得先用Quit再接Close语句(比如上面方法1),原因是:用了Close之后,再接Quit,你的VBA工程就没有对象支持了,剩下任何代码都无法继续依...

excel里能用VBA禁用关闭excel退出时跳出的“取消”按钮吗?
打开EXCEL,按Alt+F11,点开Thisworkbook,复制以下代码到程序窗口:Private Sub Workbook_BeforeClose(Cancel As Boolean)Application.DisplayAlerts = True If Not ThisWorkbook.Saved Then Answer = MsgBox("是否保存?", vbYesNo + vbDefaultButton2, "你要的效果")If Answer = vbYes Then ThisWorkboo...

请帮修改VBA代码,如何关闭Excel?
这是因为你的代码中,只是关闭了一个Excel文件。事实上,应该关闭整个Excel软件。VBA代码可以修改为:Sub 完成工作() ActiveWorkbook.Save ThisWorkbook.Application.Quit '或者Application.QuitEnd Sub即可。

Excel 如何停止正在运行的vba程序
在新创建的模块窗口中,你需要编写代码来停止特定的VBA程序。在"代码编辑"窗口中,输入以下代码:定义一个子程序,如"Sub CloseWorkbook(filename1 As String, filename2 As String)",这里以"963.xls"和"258.xls"为例。编写代码使程序关闭指定的工作簿,例如:CloseWorkbook("963.xls", "258.xls"...

如何通过vba在关闭Excel时弹出对话框?
代码文本为:Private Sub Workbook_BeforeClose(Cancel As Boolean)Dim arr, j arr = Me.Sheets(1).UsedRange.Resize(2)For j = 1 To UBound(arr, 2)If arr(1, j) <> "" And arr(2, j) = "" Then Application.Goto Me.Sheets(1).Cells(2, j)MsgBox "关闭前请输入【" & arr(1...

如何用VBA实现将Excel 关闭后直接另存到一个指定的路径,并在另存文件...
不知道是不是这个意思:在Excel的ThisWorkbook模块中,粘贴下列代码。Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next ThisWorkbook.Save'保存本文件 Application.DisplayAlerts = False ThisWorkbook.SaveAs "D:\\ff\\测试" & Format(Now, "yyyy年m月d日 h时m分s...

VBA 让Excel在指定的时间关闭重新打开,求代码?
Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False Application.EnableEvents = True Application.DisplayAlerts = True Application.ScreenUpdating = True Application.OnTime

大家好!用VBA怎样写关闭已打开EXCEL文件(一次性要关闭多个),并保存...
Sub fasdf()Dim wb As Object For Each wb In Workbooks If wb.Name <> ThisWorkbook.Name Then wb.Close True End If Next ThisWorkbook.Close True End Sub

EXCEL VBA 如何用命令按钮关闭VBA的窗口?
1、在工作表中,点击菜单栏【开发工具】,在其工具栏内,点击【visual basic】。2、会进入VBA编辑界面!点击工具栏内【插入用户窗体】按钮,在其下拉菜单中,选择【模块】。3、会弹出模块编辑窗口。4、在代码编辑窗口输入以下代码:sub 关闭文件(),Workbooks("963.xls").Close ture,Workbooks("258....

相似回答