我有个EXCEL表格,本来用得好好的,插入一个新的工作表之后,正常使用,也可以录入数据,保存的时候是明显还有,但一会重新打开那个表格,刚刚插入的工作表就自动不见了,请高手指点。
已经重装过。。还是会出现同样的问题,并不是所有的EXCEL表格都出问题,只是唯一的一个。
关于宏级别,之前因为要打开,设置为低,现在怎么样都设置不上,请各位高手指教
EXCEL保存后自动删除工作表
答案:6 悬赏:20 手机版
解决时间 2021-03-03 21:35
- 提问者网友:黑米和小志
- 2021-03-03 06:16
最佳答案
- 五星知识达人网友:西风乍起
- 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)
若存在
在搞明白代码含义的情况下根据需要进行修改
若想追根究底
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯