Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5829|回复: 7

[已解决]求保存并关闭除当前工作簿之外的工作簿的程序

[复制链接]
发表于 2012-10-18 09:36 | 显示全部楼层 |阅读模式
10学分
效果是:1、如果除了当前工作簿之外,没有打开的workbook,退出程序
              2、如果除了当前工作簿之外,有N个打开的workbook,则这N个工作簿保存并关闭。
求各路大大帮忙实现。
最佳答案
2012-10-18 09:36
  1. Sub CloseAllWB()
  2. Dim wb As Workbook
  3. If Workbooks.Count > 1 Then
  4.     For Each wb In Workbooks
  5.         If wb.Name <> ThisWorkbook.Name Then
  6.             wb.Close True
  7.         End If
  8.     Next
  9. End If
  10. End Sub
复制代码
发表于 2012-10-18 09:36 | 显示全部楼层    本楼为最佳答案   
  1. Sub CloseAllWB()
  2. Dim wb As Workbook
  3. If Workbooks.Count > 1 Then
  4.     For Each wb In Workbooks
  5.         If wb.Name <> ThisWorkbook.Name Then
  6.             wb.Close True
  7.         End If
  8.     Next
  9. End If
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-10-18 10:34 | 显示全部楼层
suye1010 发表于 2012-10-18 10:22

谢谢大大了,for each 想到了,但是就是不会用,哎,还是学的不细致啊
回复

使用道具 举报

发表于 2012-10-18 10:43 | 显示全部楼层
  1. Sub 关闭()

  2. Dim wb As Workbook

  3. If Workbooks.Count = 1 Then ThisWorkbook.Close

  4. If Workbooks.Count > 1 Then

  5.     For Each wb In Workbooks

  6.         If wb.Name <> ThisWorkbook.Name Then

  7.             wb.Close True

  8.         End If

  9.     Next

  10. End If

  11. End Sub
复制代码

评分

参与人数 1 +1 金币 +1 收起 理由
suye1010 + 1 + 1 论坛有你的参与更精彩!

查看全部评分

回复

使用道具 举报

发表于 2012-10-18 10:54 | 显示全部楼层
不懂、、
回复

使用道具 举报

 楼主| 发表于 2012-10-18 10:54 | 显示全部楼层
hoogle 发表于 2012-10-18 10:43

谢谢大大,suye大大帮助解决了,一细看,程序都是一样的~~,这个程序是最佳方案了~~
回复

使用道具 举报

 楼主| 发表于 2012-10-18 10:55 | 显示全部楼层
遗憾 发表于 2012-10-18 10:54
不懂、、

程序挺简单的,主程序是for each 循环,可以参考下for each用法
回复

使用道具 举报

发表于 2012-10-18 11:02 | 显示全部楼层
俺刚接触,啥也不懂、、、、、
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 20:14 , Processed in 0.314872 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表