我一直在Excel中手动维护我的乐队的各种设置列表。我决定编写一个漂亮的VBA前端以使其更容易。由于setlist excel文件在我的Dropbox上为所有乐队成员和声音团队共享,我在编写代码时将setlist.xlsx复制到newsetlist.xlsm。在"完成"代码,我存档了原始的setlist.xlsx文件,并将newsetlist.xlsm重命名为setlist.xlsm。
但是,现在当我启动第一个用户窗体时,出于某种原因,Excel会尝试打开mewsetlist.xlsm,当然这已经不存在了。我搜索了所有代码,无法找到我明确尝试打开newsetlist.xlsm的任何地方。事实上,vba代码已经在假设工作簿被打开的情况下运行了。
任何想法都非常感激。
答案 0 :(得分:0)
我在工作簿的第2单元中有两行代码。第一个调用sub来查找名为“Blank”的工作表,我用它来构建我的集合,在我完成时重命名它。这只是删除任何未完成的工作的残余,如果它在那里删除它。第二行提出了主用户表单。我已将该宏放在quickaccess工具栏上。它点击了导致Excel追溯旧文件名的那个。
好吧,我添加了一个新模块并编写了一个新的子程序,将这两行复制并粘贴到其中,从快速访问工具栏中删除了旧宏,将新的宏放在那里并且presto,它不再尝试打开旧文件。我只能想到,Excel在快速访问工具栏上的宏图标中以某种方式关联了文件的旧名称。可能只需要从工具栏中删除该宏并将其重新添加到新文件中。
只是因为你问,这是代码。
现在在模块3中:
sub setManagementStartup
Call delBlankSheet
MasterScreen.Show
结束 Public Sub delBlankSheet()
Dim blankExists As Boolean
blankExists = False
For Each ws In ThisWorkbook.Sheets
If ws.Name = "Blank" Then
blankExists = True
End If
Next ws
If blankExists Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets("Blank").Delete
Application.DisplayAlerts = True
End If
End Sub