方法一:
打开要解决问题的工作表,按Alt+F11打开VB编辑器,在“视图”下选择“工程资源管理器”,打开后双击”ThisWorkbook”,在右边的编辑页面复制下面的代码
SubHideMacroSheet()
ThisWorkbook.Sheets("macro1").Visible=1
EndSub'(显示隐藏的宏表macro1)
SubDisplayNames()
DimNaAsName
ForEachNaInThisWorkbook.Names
Na.Visible=True
Next
EndSub'(显示隐藏的“Auto_Activate”)
然后点击“运行”下面的“运行子过程/用户窗体”,或按F5,弹出宏对话框,选择:“ThisWorkbook.HideMacroSheet”,然后再点“运行”,此时就可以在工作表中看到表Macro1显示出来。然后再点击“运行”下面的“运行子过程/用户窗体”,或按F5,弹出宏对话框,选择:“ThisWorkbook.DisplayNames”,然后再点“运行”,此时就可以在表Macro1的A2看到“Auto_Activate”,点击“名称管理器”(Ctrl+F3),里面有很多定义的名称,把含有Auto_Activate
的全部删掉就可以了。
方法二:
关闭有问题的表,新建一个表,按Alt+F11打开VB编辑器,“视图”下选择“工程资源管理器”,然后点击“插入”,插入模块,在右边的编辑区域复制下面的代码:
SubRmvMacros()
DimwbkAsWorkbook
DimstrFilenameAsString
strFilename=Application.GetOpenFilename("Excel文件(*.xls;*.xlsx),*.xls;*.xlsx")'要删除宏的文件名
IfstrFilename="False"ThenExitSub
Application.EnableEvents=False'禁止在打开时触发事件
Application.DisplayAlerts=False
Setwbk=Workbooks.Open(strFilename)
ForEachshtInwbk.Sheets
sht.Visible=True
Ifsht.Type=3Orsht.Type=4Thensht.Delete
Next
Fori=wbk.Names.CountTo1Step-1
Ifwbk.Names(i).Visible=FalseThenwbk.Names(i).Delete
Nexti
![轻松解决excel中找不到Macro1$A$2 找不到macro](http://img.413yy.cn/images/31101031/31044827t01734288ef2c369991.jpg)
wbk.Closesavechanges:=True
Application.DisplayAlerts=True
Application.EnableEvents=True
EndSub
鼠标点击,并选中左侧VBAProject(打开表格的名字),然后再点击“运行”,选择“运行宏”,在弹出的对话框中,选中你要解决问题的表,就ok了,再打开你的表,就会发现之前的问题都解决了。