ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 29948|回复: 12

[求助] EXCEL表打开无任何修改,关闭却提示保存

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-12-16 12:41 | 显示全部楼层 |阅读模式
EXCEL表打开无任何修改,关闭时却总是提示"是否保存对XX表格的更改",好烦,怎么样使它像WORD一样,如果有更改就提示是否保存,无更改就直接关闭呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-12-16 13:06 | 显示全部楼层
有时候我想设置它批量打印,就是一个文件夹内很多EXCEL表都要打印,我把它全选,按打印后,它就一个一个自动打开自动打印,但自动打开,就提示是否保存,然后对话框一直在那里,非得手动点它否或是,关闭后才会自动打印下一张.所以很麻烦.

TA的精华主题

TA的得分主题

发表于 2008-12-16 13:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我的也这样

TA的精华主题

TA的得分主题

发表于 2008-12-16 13:20 | 显示全部楼层
可能是工作表中包含“易失性函数”吧

TA的精华主题

TA的得分主题

发表于 2008-12-16 13:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
对,应该是EXCEL当中有易失性函数,这样的话就会出现只要打开后再关闭都会出现是否保存的对话框
像rand   offset     now    today  等都是易失性函数

TA的精华主题

TA的得分主题

发表于 2009-12-30 09:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
没有事,我的 工作表 中的东西删光了一样提示。
个个都说什么  易失性函数  我表里明明已经清空了。

TA的精华主题

TA的得分主题

发表于 2009-12-30 09:56 | 显示全部楼层
原帖由 笑虾 于 2009-12-30 09:51 发表
没有事,我的 工作表 中的东西删光了一样提示。
个个都说什么  易失性函数  我表里明明已经清空了。


把你文件传上来看一看?有可能定义了名称。

TA的精华主题

TA的得分主题

发表于 2009-12-30 10:16 | 显示全部楼层
我把内容全删了。
附件就是我的单据表
谢谢

清单.rar

17.02 KB, 下载次数: 36

TA的精华主题

TA的得分主题

发表于 2009-12-30 10:45 | 显示全部楼层
你的这个表格说真的相当怪。可能损坏过。或者执行过什么代码之类的。首先把你表格全选复制到新建工作簿后再保存。再打开。再关闭不会出现要保存的提示

把你原始这个文件所有内容。格式。对象。数据有效性都删除。以及把行高列宽调到默认的再保存。再打开。再关闭也会提示要保存。

还有你的表格直的好怪。比如看下图。还有你的表格我打印预览的时候。设置了一些颜色与格式后。每次打印预览看到的结果都不一样。。。诡异。。。有时候是颜色不同,关闭后再点击打印预览。颜色相同了。边框张又不同了。再关闭。再打印预览。颜色相同,边框相同了。合并的单元格的格式又不同了。。
01.jpg

TA的精华主题

TA的得分主题

发表于 2009-12-30 11:03 | 显示全部楼层
这个表是用VBA生成的(通过在一个模板中录入数据,然后复制生成此文件)
我把代码贴出来吧,帮我看看问题在哪
谢谢。
  1. Sub 新建拷贝法()
  2.     'On Error Resume Next
  3.     On Error GoTo Err
  4.     '关闭显示刷新,避免闪烁
  5.     Application.ScreenUpdating = False
  6.     Application.EnableEvents = False
  7.    
  8.     '选清除高亮显示
  9.     Cells.FormatConditions.Delete
  10.    
  11.     '验证必填项是否完整
  12.     'If [H2] = "" Or [l2] = "" Or [i4] = "" Then
  13.     Select Case ""
  14.         Case [H2]
  15.             Range("H2").Activate
  16.             MsgBox "“单据类型编号 H2” 为必填!", vbQuestion, "数据不完整"
  17.              Application.ScreenUpdating = True
  18.              Application.EnableEvents = True
  19.             Exit Sub
  20.         Case [L2]
  21.             Range("L2").Activate
  22.             MsgBox "              “单据序号 L2” 为必填!               " & Chr(13) & "如果你确定“I2“的值并非公式生成,可以在L2中填上任意值跳过此步。", VbMsgBoxStyle.vbOKOnly + vbQuestion, "数据不完整"
  23.              Application.ScreenUpdating = True
  24.              Application.EnableEvents = True
  25.             Exit Sub
  26.         Case [I4]
  27.             Range("I4").Activate
  28.             MsgBox "“发货仓库 I4” 为必填!", vbQuestion, "数据不完整"
  29.              Application.ScreenUpdating = True
  30.              Application.EnableEvents = True
  31.             Exit Sub
  32.      '   Case Else
  33.       '      f_name = f_name + "XXXXXXXX.xls"
  34.     End Select
  35.    
  36.    
  37.    
  38.     Dim zj_name As String
  39.    
  40.     设置文件名
  41.    
  42.     zj_name = "发货清单_模版.xls" 'Application.ActiveWorkbook.Name
  43.     If zj_name <> Application.ActiveWorkbook.Name Then
  44.         MsgBox "“发货清单_模版”打开中,Ctrl+s被占用。请用菜单中的保存功能!"
  45.         Exit Sub
  46.     Else
  47.         'MsgBox "Yes"
  48.     End If
  49. '    MsgBox zj_name, , ""
  50. '    MsgBox f_dir, , ""
  51. '    MsgBox f_name, , ""
  52.     '--------------------0判断文件是否已经打开-----------------------------
  53.    
  54.     If WbkExt((f_name)) Then '系统说这家伙怕冷要两括号包着才能工作
  55.     'MsgBox f_name
  56.     Dim Response  As Integer
  57.         Response = MsgBox(f_name & Chr(13) & "是不让它滚开,并生成单据?", 4 + 16, " 已经打开")
  58.         If Response = vbYes Then
  59.         
  60.             Workbooks(f_name).Close SaveChanges:=False
  61.             
  62.         Else
  63.             Exit Sub
  64.         End If
  65.     Else
  66.         'MsgBox f_name & " 未打开"
  67.     End If
  68.    
  69.     '--------------------1判断文件是否已经打开-----------------------------
  70.     '--------------------0判断文件是否已经存在-----------------------------
  71.     Set fs = CreateObject("Scripting.FileSystemObject")
  72.     If fs.FileExists(f_dir + f_name) = True Then '存在
  73.         Dim scf As String
  74.         scf = MsgBox("此文件已经存在,是否覆盖?", 4 + 32 + 256, "")
  75.         If (scf = vbNo) Then
  76.             MsgBox "取消了文件导出,原来那份还活着,快去求她吧!", , ""
  77.             Exit Sub
  78.         End If
  79.    ' Else
  80.     End If
  81.     '--------------------1判断文件是否已经存在-----------------------------
  82.     '--------------------0复制工作表并清除公式-----------------------------
  83.     Sheets("存根联").Select
  84.     Sheets("存根联").Copy
  85.         

  86. '    '--------------------1复制工作表并清除公式-----------------------------
  87.    
  88.     '=======================================================================
  89.     Application.DisplayAlerts = False
  90.     Application.EnableEvents = False
  91.     '    '--------------------0清除公式-----------------------------


  92.     '------------------保存 并且不提示--------------------------
  93.     ActiveWorkbook.SaveAs Filename:= _
  94.         f_dir + f_name, FileFormat:=xlNormal, _
  95.         Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
  96.         CreateBackup:=False
  97.     '--------清除工程代码
  98.    
  99.    清除工程代码 (f_dir + f_name)
  100.    
  101.    
  102.     '------------------保存 并且不提示--------------------------

  103.     Workbooks.Open (f_dir + f_name)
  104.    ' ActiveWindow.Visible = False
  105.     'Windows(f_dir + f_name).Visible = False
  106.    
  107.     Application.Workbooks(f_name).Sheets("存根联").Select
  108.     Cells.Select
  109.     Selection.Copy
  110.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  111.         :=False, Transpose:=False
  112.     Application.CutCopyMode = False
  113. '    '--------------------1清除公式-----------------------------
  114.     '------------------消除右边的辅助内容--------------------------
  115.     Columns("IV").Select
  116.     Selection.Delete Shift:=xlToLeft
  117.     Columns("K:S").Select
  118.     Selection.Delete Shift:=xlToLeft

  119.     '------------------消除右边的辅助内容--------------------------
  120.     '修改完后保存
  121.     Workbooks(f_name).Saved = True
  122.     Workbooks(f_name).Close SaveChanges:=True
  123.         
  124.     Application.EnableEvents = True
  125.     Application.DisplayAlerts = True
  126.     '=======================================================================

  127.    
  128. '回到"存根联"
  129.     Windows(zj_name).Activate
  130.     Sheets("存根联").Select
  131.    
  132.        MsgBox f_name & Chr(13) & Chr(13) & "保存成功。", vbInformation, "生成提示"
  133.       

  134.     '打开显示刷新
  135.     Application.ScreenUpdating = True
  136.     Application.EnableEvents = True
  137. Err:
  138.         Application.EnableEvents = True
  139.    
  140. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-19 07:14 , Processed in 0.046136 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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