繁体   English   中英

excel-vba打开旧文件名

[英]excel-vba opening old file name

我一直在Excel中手动维护乐队的各种曲目列表。 我决定编写一个不错的VBA前端以使其更容易。 由于setlist excel文件在我的保管箱上共享给所有乐队成员和声音团队,因此我在编写代码时将setlist.xlsx复制到newsetlist.xlsm。 在“完成”代码之后,我将原始的setlist.xlsx文件存档,并将newsetlist.xlsm重命名为setlist.xlsm。

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

任何想法表示赞赏。

我在工作簿的模块2中有两行代码。 第一个调用一个子,寻找一个名为“ Blank”的工作表,我用它来构建我的集合,完成后将其重命名。 这只是通过删除未完成的工作中的所有内容来清除它。 第二行显示主用户表单。 我已将该宏放在快速访问工具栏上。 这是因为单击该文件,导致Excel使用旧文件名。

好吧,我添加了一个新模块并编写了一个新子,将这两行复制并粘贴到其中,从快速访问工具栏中删除了旧宏,将新宏放到那里并保存,不再尝试打开旧文件。 我所能想到的是,Excel以某种方式在quickaccess工具栏上的宏图标中关联了文件的旧名称。 可能只需要从工具栏中删除该宏,然后将其重新添加到新文件中即可。

只是因为您问,这是代码。

现在在模块3中:
子集管理启动

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

结束子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM