excel-vba打开旧文件名

时间:2017-03-18 20:32:19

标签: excel-vba vba excel

我一直在Excel中手动维护我的乐队的各种设置列表。我决定编写一个漂亮的VBA前端以使其更容易。由于setlist excel文件在我的Dropbox上为所有乐队成员和声音团队共享,我在编写代码时将setlist.xlsx复制到newsetlist.xlsm。在"完成"代码,我存档了原始的setlist.xlsx文件,并将newsetlist.xlsm重命名为setlist.xlsm。

但是,现在当我启动第一个用户窗体时,出于某种原因,Excel会尝试打开mewsetlist.xlsm,当然这已经不存在了。我搜索了所有代码,无法找到我明确尝试打开newsetlist.xlsm的任何地方。事实上,vba代码已经在假设工作簿被打开的情况下运行了。

任何想法都非常感激。

1 个答案:

答案 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