永发信息网

EXCEL保存后自动删除工作表

答案:6  悬赏:20  手机版
解决时间 2021-03-03 21:35
  • 提问者网友:黑米和小志
  • 2021-03-03 06:16
我有个EXCEL表格,本来用得好好的,插入一个新的工作表之后,正常使用,也可以录入数据,保存的时候是明显还有,但一会重新打开那个表格,刚刚插入的工作表就自动不见了,请高手指点。

已经重装过。。还是会出现同样的问题,并不是所有的EXCEL表格都出问题,只是唯一的一个。
关于宏级别,之前因为要打开,设置为低,现在怎么样都设置不上,请各位高手指教
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-03-03 06:51
宏安全性设置为最高。然后再打开,修改,保存,关闭工作簿。

若想追根究底
alt+f11
看看工程中是否只有当前打开的工作簿?

若是
双击thisworkbook检查一下其中代码。看看是否存在
Private Sub Workbook_BeforeClose(Cancel As Boolean)


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

若存在
在搞明白代码含义的情况下根据需要进行修改
全部回答
  • 1楼网友:归鹤鸣
  • 2021-03-03 11:50
卸载重装,建议查杀病毒。
  • 2楼网友:上分大魔王
  • 2021-03-03 10:18
系统就是这要设计的,不知你注意没有,如果工作表重命名过,那么,再插入的新表又是从sheet1开始的,在这次操作过程中,删除它,再插入的表就是sfeet2,类推。保存关闭后,下次再重新打开时,又是从默认顺序开始的,你这种情况在下次打开时,如果没有sheet1,那插入的新表又会从sheet1开始编号了。
  • 3楼网友:七十二街
  • 2021-03-03 08:42
打开该EXCEL表格后,按ALT+F11,双击左边表单名,看看有没有代码,如果有的话贴出来大家分析分析。
  • 4楼网友:西风乍起
  • 2021-03-03 08:22
中了宏病毒了,百度搜个杀病毒的软件试下吧
  • 5楼网友:话散在刀尖上
  • 2021-03-03 07:05
只是唯一的一个文件是这样的话,还算不上是宏病毒的,可能是有恶意代码,而且很有可能在个人宏工作簿中,你改个文件名试试呢?建议删除所有宏代码 这是我的个人宏工作簿代码,不开宏第一次文件打开后自动闭,第二次打开文件,宏安全性就自动变为低了 Sub SetExcelVBA() '练习 '功能:改变Excel的安全级别 '使用:Wscript,FileSystemObject,创建txt文件,注册表操作,VBS文件自我删除,改变Excel文件读写属性等 'By Keanjeason@Officefans.net Dim WSH As Object, ret As String, regStr As String Dim strFullname As String, strVBS As String Dim tf, fso, RetVal '本程序仅适用于Excel 2003( 11.0),如果当前版本不是2003则退出 'If Application.Version <> "11.0" Then MsgBox "本代码仅在 Excel 2003 下可使用! ", vbOKOnly + vbCritical, "Keanjeason": Exit Sub 'strFullname = ThisWorkbook.FullName '取得当前工作薄的全名 'strVBS = Replace(UCase(strFullname), ".XLS", ".vbs") 'temp文件VBS的文件名 Set WSH = CreateObject("Wscript.Shell") '创建Wscript对象 Err.Clear On Error Resume Next regStr = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\Level" '注册表中Excel vba安全级别位置 ret = WSH.Regread(regStr) '读取当前安全级别 If Err.Number <> 0 Then '判断读取是否成功 MsgBox "从注册表读取当前Excel VBA安全级别设置失败,本程序将退出! ", vbOKOnly + vbCritical, "Keanjeason" Exit Sub Else '如果当前Excel VBA安全级别不为“低”,则设置为“低”,值1-4分别对应:低,中,高,非常高 If Val(ret) <> 1 Then ret = WSH.RegWrite(regStr, "1", "REG_DWORD") End If 'Set fso = CreateObject("Scripting.FileSystemObject") 'Set tf = fso.CreateTextFile(strVBS, True) '创建temp文件VBS文件 'With tf '写入VBS文件内容 ' .WriteLine ("Dim oExcel,fso,delme") ' .WriteLine ("Set fso = CreateObject(""Scripting.FileSystemObject"")") ' .WriteLine ("Set oExcel = CreateObject(""excel.application"")") '.WriteLine ("oExcel.Workbooks.Open " & Chr(34) & strFullname & Chr(34)) ' .WriteLine ("oExcel.Visible=true") ' .WriteLine ("Set oExcel = Nothing") ' .WriteLine ("delme = fso.DeleteFile(" & Chr(34) & strVBS & Chr(34) & ")") ' .Close 'End With 'With ThisWorkbook '将当前文件属性设置为“只读”,以方便重新打开 ' .ChangeFileAccess Mode:=xlReadOnly ' .Saved = True 'End With 'RetVal = WSH.Run(Chr(34) & strVBS & Chr(34), 1, True) '运行刚刚创建的VBS文件,新启动一个Excel程序 'Application.Quit '退出当前Excel Set WSH = Nothing Set fso = Nothing End Sub '安全设置 Function SetSafe() Dim WshShell As Object Dim Regkey As String Regkey = "HKCU\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\" If Application.Version = "12.0" Then Hdj = "VBAWarnings" ElseIf Application.Version = "10.0" Then Hdj = "Level" ElseIf Application.Version = "11.0" Then End If With CreateObject("WScript.Shell") If .Regread(Regkey & Hdj) <> 1 Or .Regread(Regkey & "AccessVBOM") <> 1 Then '修改宏安全性设置(1低,2中,3高(0禁用) .RegWrite Regkey & Hdj, 1, "REG_DWORD" '信任已安装的增益集,信任为0 If Application.Version <> "12.0" Then .RegWrite Regkey & "DontTrustInstalledFiles", 0, "REG_DWORD" .RegWrite Regkey & "AccessVBOM", 1, "REG_DWORD" 'ThisWorkbook.Close SaveChanges:=False ThisWorkbook.Application.Quit End If End With End Function
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯