[VBA]在后台删除工作表后出现的怪问题

后台|问题

昨晚写一代码,将备将某目录下EXCEL中的某一工作表(同名“sheet2”)批量删除代码如下,成功删除之后发现奇怪问题,被删除处理过的EXCEL文件打开后发现是什么都没有,一张工作表都没有,但用 VB编辑器查看,却发现工作表还在,但就是没办法显示。

Private Sub CommandButton1_Click()
Dim app As Excel.Application
Dim xlapp As Variant
Dim xlworkbooks As Workbooks
Dim MyFile, MyPath, MyName
MyPath = "d:\temp"
MyName = Dir(MyPath & "\" & "*.xls")
Do While MyName <> "" ' 开始循环。

Set xlapp = GetObject(MyPath & "\" & MyName)
Set w_sheets = xlapp.Worksheets
xlapp.Application.DisplayAlerts = False '不显示警告
xlapp.Worksheets("sheet2").Delete
Workbooks(MyName).Save
xlapp.Application.DisplayAlerts = True
xlapp.Application.Visible = True
Workbooks(MyName).Close
MyName = Dir ' 查找下一个目录。
Loop
End Sub

后来,再和高手探讨调试,发现如果不用getobject,而是直接先用workbook.open就可达到正常。

Application.Workbooks.Open MyName '此是关键,先打开工作表
反正是为什么会出现上面的情形我也说不清楚,不过能解决问题就好。。。呵呵

时间: 2024-10-29 09:34:27

[VBA]在后台删除工作表后出现的怪问题的相关文章

Excel怎么快速删除工作表中空白行

  Excel怎么快速删除工作表中空白行          1.启动Excel 2013并打开工作表,这张工作表中存在一些空行.在工作表中选择数据区域,在"开始"选项卡的"编辑"组中单击"排序和筛选"按钮,在打开的下拉列表中选择"筛选"选项,如图1所示. 图1 选择"筛选"选项 2.此时,数据表的列标题右侧将会出现筛选下三角按钮,单击任意一个下三角按钮,在打开的下拉列表中取消对"全选"复

excel2010中添加删除工作表

  本教程为大家介绍一下excel2010怎么添加删除工作表,下面一起来看看具体操作吧. 一.添加工作表 方法一: 点击表格下方的" "(新建工作表)按钮就可以添加一个工作表.       方法二: 鼠标右击某一个sheet,在弹出菜单中选择"插入"选项. 在"插入"界面窗口中选择"工作表",点击"确定"按钮后就可以插入新的工作表了. 二.删除工作表 右击你所要删除的工作表sheet,选择"删除工

wps表格怎么添加删除工作表

一.添加工作表 方法一: 点击表格下方的"+"(新建工作表)按钮就可以添加一个工作表. 方法二: 鼠标右击某一个sheet,在弹出菜单中选择"插入"选项即可. 电脑教程 二.删除工作表 右击你所要删除的工作表sheet,选择"删除工作表"选项,即可.

Excel如何快速插入和删除工作表

  1.打开Excel表格,在左下角我们有会发现Excel有3个工作表 2.如果想要添加工作表只需点击下方的"插入工作表"即可. 3.想要删除工作表同理,只需点击该工作表然后右键选择删除即可.是不是很简单呢?

Excel 2007中添加或删除工作表背景

Excel 2007中,您可以将图片用作仅供显示的工作表背景.工作表背景不会被打印,也不会保留在单个工作表中或保留在另存为网页的项目中. 要点 由于不会打印工作表背景,因此不能将其用作水印.但是,通过在页眉或页脚中插入图形,您可以创造出水印的效果. 添加工作表背景 1.单击要为其显示工作表背景的工作表.请确保只选中了一个工作表. 2.在"页面布局"选项卡上的"页面设置"组中,单击"背景". "页面布局"选项卡 3.选择要用作工

删除数据表后出现的问题!

问题描述 删除数据表后出现的问题! 数据库里有一张表叫favoritefold,里面有另一张表loginuser的主键use_id,但是并没有建立关系,然后删除了表格favoritefold之后,执行insert语句,insert into loginuser(name,Password,RegeditTime,Email) values('1','2','3','4@qq.com') 就提示我favoritefold不存在不能插入. 请问怎么改!! 解决方案 看一下loginuser表中是否有

c# excel 删除工作表 删除不了

问题描述 protectedvoidButton6_Click(objectsender,EventArgse){//建立一个Excel.Application的新进程Microsoft.Office.Interop.Excel.Applicationapp=newMicrosoft.Office.Interop.Excel.Application();Workbooksworkbooks=app.Workbooks;_Workbookworkbook=workbooks.Add(@"D:ZBz

打开多个Excel工作表后内存不足

  将几个Excel文件同时开启后,电脑出现"内存不足,不能执行显示"的提示,不能正常打开. 出现这种情况后,首先要关闭所有的应用程序,然后在桌面右击,选择"属性",打开"显示 属性",然后在"设置"中,在"颜色质量"选择256颜色.在更改后,问题即可解决.

Excel2007教程:删除一个不再需要的工作表

Excel2007基础教程:删除一个不再需要的工作表 如果不再需要一张工作表,或者想删除工作簿中的一个空工作表,那么可以通过两种方法来删除它: 右击表标签并从快捷菜单选择"删除飞 选择"开始" Q "单元格" Q "删除工作表" .如果工作表含有任何数据, Excel 会询问是否确认删除此表.如果该表从未被使用过, Excel 会不进行确认而立即删除它. 提示:只需同时选择要删除的表,就可以用一个简单的命令删除多个表. 按住Ctrl 键