轻松解决“找不到macro1$A$2”
在打开excel表格的时候,是不是总是弹出“找不到macro1$A$2”的对话框呢,下面的办法可以轻松的帮你解决掉问题哦 方法一:
打开要解决问题的工作表,按Alt+F11打开VB编辑器,在“视图”下选择“工程资源管理器”,打开后双击”ThisWorkbook”,在右边的编辑页面复制下面的代码 Sub HideMacroSheet()
ThisWorkbook.Sheets(\
End Sub ( 显示隐藏的宏表macro1) Sub DisplayNames() Dim Na As Name
For Each Na In ThisWorkbook.Names Na.Visible = True Next
End Sub (显示隐藏的“Auto_Activate”) 然后点击“运行”下面的“运行子过程/用户窗体”,或按F5,弹出宏对话框,选择:“T hisWorkbook. HideMacroSheet”,然后再点“运行”,此时就可以在工作表中看到表Macro1显示出来。然后再点击“运行”下面的“运行子过程/用户窗体”,或按F5,弹出宏对话框,选择:“T hisWorkbook. DisplayNames”,然后再点“运行”,此时就可以在表Macro1的 A2看到“Auto_Activate”,点击“名称管理器”,里面有很
多定义的名称,把含有Auto_Activate 的全部删掉就可以了。 方法二:
关闭有问题的表,新建一个表,按Alt+F11打开VB编辑器,“视图”下选择“工程资源管理器”,然后点击“插入”,插入模块,在右边的编辑区域复制下面的代码: Sub RmvMacros() Dim wbk As Workbook Dim strFilename As String strFilename
=
Application.GetOpenFilename(\
文
件
(*.xls;*.xlsx),*.xls;*.xlsx\要删除宏的文件名 If strFilename = \
Application.EnableEvents = False '禁止在打开时触发事件 Application.DisplayAlerts = False Set wbk = Workbooks.Open(strFilename) For Each sht In wbk.Sheets sht.Visible = True
If sht.Type = 3 Or sht.Type = 4 Then sht.Delete Next
For i = wbk.Names.Count To 1 Step -1
If wbk.Names(i).Visible = False Then wbk.Names(i).Delete Next i
wbk.Close savechanges:=True Application.DisplayAlerts = True Application.EnableEvents = True end sub
鼠标点击,并选中左侧VBAProject(打开表格的名字),然后再点击“运行”,选择“运行宏” ,在弹出的对话框中,选中你要解决问题的表,就ok了,再打开你的表,就会发现之前的问题都解决了。