Excel宏记录器:文件名始终在变化

时间:2015-04-07 20:42:44

标签: excel vba object

我目前使用大量的电子表格来完成我的工作,可视化始终在变化的传入数据。

我遇到的主要问题是我每天导出的文件都有一个命名系统,该系统基于某些算法,该算法与信息被拉出的日期和时间有关,但有些是随机生成的。这意味着工作簿总是具有不同的名称,并且由于我们提取了大量报告,我更愿意提取信息,将其传输到主表,并删除导出的文件。如果所有其他Microsoft应用程序都关闭(如果Word,Outlook或其他Excel文件打开,宏崩溃并出现定义错误),我通过录制我的操作提出的宏工作正常。

任何人都可以提出一个解决方案,当名称不断变化时,能够执行代码格式化文件吗?我可以粘贴一个我拥有的示例,但由于格式化,它是一个很长的代码。基础是:

Sub RECORDTHIS()
Dim sht As Object

Set sht = ActiveWorkbook.ActiveSheet

sht.Select
sht.Name = "MYDATA"

'Lots of formatting commands

End Sub

1 个答案:

答案 0 :(得分:0)

为什么不打扰"打开"您要处理的工作簿。像这样的东西

Sub DemoOpen()
    Dim FName As Variant
    Dim wb As Workbook
    FName = Application.GetOpenFilename(filefilter:="Excel Files (*.xls), *.xls")
    If FName <> False Then
        Set wb = Workbooks.Open(FName)
        Dim sht As Worksheet
        Set sht = wb.ActiveSheet
        sht.Name = "MYDATA"
        'Lots of formatting commands
    End If
End Sub